良哉 2019-05-06
由衷的感叹,js真是烦。
学到现在,渐渐理解了什么是:语言都是通用的,没有好不好,只有擅长不擅长。
继承,多态,甚至指针,c能实现,c++,java有,javascript(和java是雷锋和雷峰塔的区别,名字上不知道坑了多少人)也能变通实现。
温故知新,今天又回味了一遍,匿名函数作为函数参数。
代码很短,五脏俱全。
<!DOCTYPE html> <html lang="en"> <head> </head> <body> <script> function test( a, b ){ a+=1; b(a); } test(3, function(result){ console.log(result); }); </script> </body> </html>
匿名函数作为函数参数,为什么可以自动执行呢?
难道匿名函数自执行了?
错!!!匿名函数!=自执行匿名函数
真相只有1个:匿名函数作为参数,在调用(将匿名函数作为参数的)函数里被调用执行了。
function test( a, b ){ a+=1; // b是对象,函数名也是对象,所以b可以指代一个函数 // 类似c++中的函数名一样 // a被复制给了b(result) // js好灵活 b(a); }