亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于最后.click(1111,data);

為什么該查這樣就不能用了呢 ? ? ?$("button:eq(2)").click(1111, data(e))

正在回答

3 回答

要么你給個父元素,要么用這個.filter()

0 回復 有任何疑惑可以回復我~
#1

油金哇卡呀酷咧 提問者

能具體點不 大神
2016-10-05 回復 有任何疑惑可以回復我~

js中作為值的函數的調用格式是這樣的:

function callSomeFunction(someFunction, someArgument){

????return someFunction(someArgument);

}

上面這段代碼,是小白在書上看到的。

?在這里callSomeFunction這個函數接收兩個參數,一個是someFunction,一個是someArgument 。someArgument也是作為someFunction的函數。

不過我們要注意someFunction沒有加( );

沒有加括號表示是函數名,是變量,是一個引用。函數名后面加了括號之后就是調用。

這個細微之處可以看出,js中規定,把一個函數作為另外一個函數的參數調用時,其實傳遞的是函數的引用。如果給寫成了這樣someFunction( )就不是引用了,而是調用。

( ╯□╰ )小白也是挺蒙的,既然函數有返回值,為什么不能把函數的調用看作是返回值。然后把返回值的傳遞看作是值傳遞,這應該與硬件的內部機制有關。

$("button:eq(2)").click(1111, data(e))和$("button:eq(2)").click(1111, data)的區別在于:?

data(e)這樣是函數的調用。data是函數的引用。


2 回復 有任何疑惑可以回復我~
#1

油金哇卡呀酷咧 提問者

謝謝了 大兄弟
2016-10-17 回復 有任何疑惑可以回復我~

能具體點不 大神

0 回復 有任何疑惑可以回復我~
#1

Amanresor3327988

$('button').get(2) $('button').filter(2)
2016-10-05 回復 有任何疑惑可以回復我~
#2

油金哇卡呀酷咧 提問者 回復 Amanresor3327988

不是特別懂 可能是我沒講清楚 之前的代碼是 $("button:eq(2)").click(1111, data) date不是引用之前的data(e)函數嗎. 現在我改成 $("button:eq(2)").click(1111, data(e)) 能直接調用data(e)函數嗎?
2016-10-05 回復 有任何疑惑可以回復我~
#3

qq_miaomiaodoub_0 回復 油金哇卡呀酷咧 提問者

data是一個函數,e是它的參數,獲取的是事件傳遞過來的,直接調用就是data,data(e)沒有這種寫法,要么直接把那個函數包含進來
2016-10-06 回復 有任何疑惑可以回復我~
#4

qq_miaomiaodoub_0 回復 油金哇卡呀酷咧 提問者

就是data(e)應該是function data(e){alert(e.data);}
2016-10-06 回復 有任何疑惑可以回復我~
#5

油金哇卡呀酷咧 提問者 回復 qq_miaomiaodoub_0

謝謝了 o(* ̄▽ ̄*)ブ
2016-10-07 回復 有任何疑惑可以回復我~
查看2條回復

舉報

0/150
提交
取消

關于最后.click(1111,data);

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號