jjzjj

javascript - 将对象分配给 undefined 和 delete 之间的区别

我在阅读SecretsoftheJavaScriptNinja时遇到了一个编码示例:varninja={yell:function(n){returnn>0?ninja.yell(n-1)+"a":"hiy";}};varsamurai={yell:ninja.yell};//varninja={};//deleteninja;samurai.yell(4);如果我取消注释第二行,samurai.yell(4)运行良好,我理解为samurai仍然引用了最初由ninja.yell引用的函数,这delete已删除。但是,如果我改为运行第一个注释行,samurai.yell(4)会报错。谁能

javascript - 在 JavaScript 中命名匿名函数有何不同?

我正在分析来自JohnResig网站的以下两个url,但我不明白为匿名函数命名会产生怎样的影响。我的理解是,给匿名函数的名称只能在函数定义内部使用,不能在函数定义之外使用,但是在下面的链接中它产生了巨大的差异http://ejohn.org/apps/learn/#13http://ejohn.org/apps/learn/#14任何解释或引用都会有很大帮助。我仍然对#14中的以下几行感到困惑varsamurai={yell:ninja.yell};varninja={};assert(samurai.yell(4)=="hiyaaaa","Themethodcorrectlycall