文章詳情頁
javascript - 請問這段 el && fn.call(el, e, el)代碼這么寫什么意思?
瀏覽:101日期:2023-02-12 14:16:12
問題描述
el && fn.call(el, e, el)這段代碼這么寫,我感覺有點懵逼。如果是想調用fn的話為什么不直接寫fn.call(el, e, el)。可是前面還加&符號,他這是想求布爾值的話又不return。這樣求出true or false又有什么意義?
問題解答
回答1:利用了 && 的短路性質。
在 A && B 中
意思是 如果 A 為假,那么整個表達式就是假,不用給 B 求值。 如果 A 為真,才再對 B 求值來判斷
所以上面的代碼的意思是
如果 el 為真,那么執行 fn.call(el, e, el);
|| 也有類似的性質:
如果左值為真,后面的就不必求值了。
比如 用來指定默認值
function test(a){ a = a || ’默認值’; return a; }test(); // => ’默認值’test(’wow’); // => ’wow’ 回答2:
如果el存在的話 就調用后面的函數 否則不調用
回答3:// 如果el為空會報錯,所以加個判斷if(el){ fn.call(el, e, el)}回答4:
a && b 相當于 if (a){
b
}
標簽:
JavaScript
相關文章:
1. Node.js + Express.js如何減少CSS?2. javascript - ES5的閉包用ES6怎么實現3. spring-mvc - eclipse java maven web 項目如何重新編譯 ,不是clean那個 詳情進來看圖 謝謝大家4. Java EE 6:JSF與Servlet + JSP。我應該學習JSF嗎?5. java - EL表達式嵌套問題,嵌套報錯,希望大神幫忙看看,貼上代碼6. javascript - electron中的a標簽怎么用瀏覽器直接打開而不是在框架窗體內7. javascript - easyui的datebox修改后禁用值會發生變化,怎么解決8. python - supervisor啟動程序報錯,ERROR (spawn error),如何查看報錯具體信息9. node.js - express框架,設置瀏覽器從緩存中讀取靜態文件,只有js從緩存中讀取了,css還有一些圖片為何沒有從緩存中讀取?10. java - EventBus 3.0 nullPoint異常?
排行榜
