javascript - Was bedeutet dieser el && fn.call(el, e, el)-Code?
PHP中文网
PHP中文网 2017-07-05 11:07:11
0
4
1093

el && fn.call(el, e, el) Dieser Code ist so geschrieben, ich bin etwas verwirrt.
Wenn Sie fn anrufen möchten, schreiben Sie doch direkt fn.call(el, e, el). Vor
steht jedoch ein &-Symbol. Er möchte einen booleschen Wert finden, ohne ihn zurückzugeben. Welchen Sinn hat es, auf diese Weise wahr oder falsch zu finden?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(4)
習慣沉默

利用了 && 的短路性质。

A && B

意思是 如果 A 为假,那么整个表达式就是假,不用给 B 求值。
如果 A 为真,才再对 B 求值来判断

所以上面的代码的意思是

如果 el 为真,那么执行 fn.call(el, e, el);


|| 也有类似的性质:

如果左值为真,后面的就不必求值了。

比如 用来指定默认值

function test(a){
    a = a || '默认值'; 
    
    return a; 
}

test(); 
// => '默认值'
test('wow'); 
// => 'wow' 
代言

如果el存在的话 就调用后面的函数 否则不调用

滿天的星座
// 如果el为空会报错,所以加个判断
if(el){
  fn.call(el, e, el)
}
过去多啦不再A梦

a && b 相当于
if (a){

b

}

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!