關於jQuery的 proxy 應用

2021-09-29 13:57:20 字數 1325 閱讀 6029

今天在看《鋒利的jquery>>時看到了proxy()的使用,感覺很模糊,就到處找資料.

jquery的原始碼也沒看明白.

不過總算明白了proxy的用法了;

1

<

input

type

="button"

value

="測試"

id="guobtn"

name

="我是按鈕的name"

/>

1

var obj =6}

7 $("#guobtn").click(obj.sayname); //

我是按鈕的name8//

如果我想訪問obj的name怎麼辦呢?

9 $("#guobtn").click($.proxy(obj.sayname,obj));//

"我是obj的name"

10 $("#guobtn").click($.proxy(obj, "sayname")); //

"我是obj的name"

從上面proxy(a,b)的用法可以看出他的引數有兩種寫法.

第一種:a是乙個function函式,b是這個函式的物件所有者.

第二種:a是乙個物件,b是乙個字串,是a的屬性名.

還有這個例項就是《鋒利的jquery>>上的乙個例子了.

1

<

div

id="panel"

style

="display:none;"

>

2<

button

>close

button

>

3div

>

1 $("#panel").fadein(function

() );

5 });

button雖然消失了,但是panel卻沒有消失.可以使用proxy來解決這個問題.

1 $("#panel").fadein(function

() , obj));

6 });

這樣單擊按鈕之後,panel才會消失.

個人感覺proxy最主要就是用來修改函式執行時的上下文物件的.

vue中 關於proxy的理解

我們本地除錯一般都是npm run serve,然後開啟本機ip 8080 localhost 8080 對吧,這時候我們要調介面除錯,後端的介面的位址可能在測試環境,也可能是自己電腦的 ip,總之不是你的lcoalhost 8080,那麼你調介面就會產生跨域,那麼怎麼辦呢?就需要proxy出場了 ...

關於proxy的乙個奇怪現象

其實也不算是proxy的問題,我在上篇文章中提到的getonenet 程式,在新建的測試程式中能正常返回json資料,但是一到了我搭建好的平台上就不行了。雖然請求成功,但是卻給我個錯誤返回值。objectapi明明是寫了,一模一樣都是複製過來的,請求qq 和後台資料都沒問題,一幹正事就不行。也不知道...

proxy的理解及proxy為什麼可以監聽陣列?

1,proxy的基本理解 proxy是es6中的語法,最為 的功能,當外接要訪問物件的時候,proxy可以做一層攔截,並且可以對這個proxy 進行操作,進而實現對物件的操作。如 var proxy newproxy obj,handler 這裡定義的proxy作為obj的 handler也是個物件...