JS函数有两种命名方式 1.声明式 声明式会导致函数提升,function会被解释器优先编译.即我们用声明式写函数,可以在任何区域声明,不会影响我们调用. function XXX(){} 2.函数表达式 函数表达式我们经常使用,而函数表达式中的function则不会出现函数提升.而是JS解释器逐行解释,到了这一句才会解释. 因此如果调用在函数表达式之前,则会调用失败. var k = function(){} fn1(); function fn1(){}//可以正常调用 fn2(); var
今天收到RSS订阅中有一篇<Javascript – Arraylike的7种实现>,看第一种实现方式是,瞬间被!function(){}()这种匿名函数自执行方式给亮瞎了眼睛.这种写法绝对是装逼神器,代码如下: !function () { //通过闭包实现 var List = function () { var list = [], self = { constructor: List, //如果希望更像原生一点,将length定义为属性,那么length则需要自己维护 length: