javascript - js运行时和执行过程中不是一回事吗?
PHPz
PHPz 2017-04-10 14:59:48
0
4
681

在《JavaScript模式》一书中,提到:

函数可以在运行时动态创建,还可以在程序执行过程中创建。

我的疑问是,运行时和程序执行过程中不是一回事吗?有何区别?

PHPz
PHPz

学习是最好的投资!

全部回复(4)
Peter_Zhu

经查,是因为中文版的翻译问题。

原书的CHAPTER 4里,原文如下:

Functions are objects that:
• Can be created dynamically at runtime,during the execution of the program

中文版翻译成了

函数可以在运行时动态创建,还可以在程序执行过程中创建。

《JavaScript模式》这本书的中文版是中国电力出版社出版的,翻译质量特别差,早在三年前就被很多前端码农们吐槽过了。

我推荐你抛弃这本书,以免收到毒害,你可以看英文原版 http://item.jd.com/19177771.html

如果觉得英文看起来吃力,也可以看看民间翻译版,翻译质量比那实体书高多了。

在github可以看到民间版:
https://github.com/TooBug/javascript.patterns/blob/master/chapter4.markdown

刘奇

我觉得是这个区别

var fun = function() {};
function fun() {};
左手右手慢动作

咳...我英语是纯粹的渣渣。但是这句话我觉得也应该翻译成:可以在程序执行的时候动态创建。
during应该承接上半句才对吧~
动态创建不是指二楼同学说的,二楼同学所指的是定义函数的不同的方法。

    function foo(){} // 预编译的时候会将其提到顶部,所以可以在任意位置调用    
    var foo = function(){} // 不会提升,只能在foo之后调用

动态创建函数更多见于框架或者模板引擎中,创建格式如下

    var foo = new Function('arg1', 'arg2', 'functionBody');

另外,个人觉得看技术书籍不用太咬文嚼字,因为有的字真的是错的...

小葫芦

意思应该是【函数可以在编译时候创建也可以在执行时候创建。】

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板