我自己在看书的过程中,就感觉:JavaScript中的可执行代码一定是属于某个对象的,要么是全局对象(window/global),要么是某个函数。但我在看MDN时,发现某些函数不属于任何对象---这就是所谓的全局函数?比如parseFloat
2 回答
慕田峪9158850
TA贡献1794条经验 获得超8个赞
就是个翻译的错误,译者不理解的话译错很常见。parseFloatisatop-levelfunctionandisnotassociatedwithanyobject.即“与任何对象无关联”。parseFloat是属于全局对象的。
慕田峪7331174
TA贡献1828条经验 获得超13个赞
这种说法很混乱关于"属于"这种概念,就像分类那样子,在JS里面还是难说的,特别是对于函数。你定义一个函数functionx(){}好了,这是一个全局的函数,那这个函数属于那个对象呢?window对于客户端JS来说,这就是这门语言的实现方式,以window对象管理全局作用域好,现在我们创建一个新的对象varobj=newObject;obj.a=x;obj.a()这里的a与x的行为都是一致,这里x即可以作为window的方法,也可以做obj的方法如果你把这个函数添加到某个原型里面,这个函数既可以说是属于原型,也可以说是属于所有继承这个原型的对象,因为调用的时候,这些方法看起来和自有的方法差不多。
添加回答
举报
0/150
提交
取消
