在《JavaScript模式》一书中,提到:
函数可以在运行时动态创建,还可以在程序执行过程中创建。
我的疑问是,运行时和程序执行过程中不是一回事吗?有何区别?
在《JavaScript模式》一书中,提到:
函数可以在运行时动态创建,还可以在程序执行过程中创建。
我的疑问是,运行时和程序执行过程中不是一回事吗?有何区别?
咳...我英语是纯粹的渣渣。但是这句话我觉得也应该翻译成:可以在程序执行的时候动态创建。
during应该承接上半句才对吧~
动态创建不是指二楼同学说的,二楼同学所指的是定义函数的不同的方法。
function foo(){} // 预编译的时候会将其提到顶部,所以可以在任意位置调用
var foo = function(){} // 不会提升,只能在foo之后调用
动态创建函数更多见于框架或者模板引擎中,创建格式如下
var foo = new Function('arg1', 'arg2', 'functionBody');
另外,个人觉得看技术书籍不用太咬文嚼字,因为有的字真的是错的...
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答867 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
经查,是因为中文版的翻译问题。
原书的CHAPTER 4里,原文如下:
中文版翻译成了
《JavaScript模式》这本书的中文版是中国电力出版社出版的,翻译质量特别差,早在三年前就被很多前端码农们吐槽过了。
我推荐你抛弃这本书,以免收到毒害,你可以看英文原版 http://item.jd.com/19177771.html
如果觉得英文看起来吃力,也可以看看民间翻译版,翻译质量比那实体书高多了。
在github可以看到民间版:
https://github.com/TooBug/javascript.patterns/blob/master/chapter4.markdown