【发布时间】:2011-10-08 14:37:35
【问题描述】:
我读到Javascript的继承是原型的。这是什么意思?程序员定义的对象如何继承预定义对象的属性,例如window? 例如,我需要在我自己的类中使用函数 eval() 。如何实现?
【问题讨论】:
-
为什么要继承eval?在代码中使用 eval 有 99.99% 的情况是错误的。
-
出于什么目的需要继承
eval? ECMAScript 第 5 版规范对eval以间接方式使用时的行为进行了语义更改 - 就像我认为您愿意使用它的方式一样,例如myObj.eval-,eval无法访问调用者的变量/词法环境,它使用全局环境。只有直接的eval调用才能访问调用者的词法环境。
标签: javascript class scope prototypal-inheritance