hgu*_*ser 5 javascript prototype-programming
这些天我的大部分工作都与js开发有关.
但是我突然发现我对一些问题感到困惑.
检查此代码(我向自定义类添加一个方法):
MyCustomClass.prototype.fun=function(xx){
this.options={.....}
function innerFun01(){}
function innerFun02(){}
}
Run Code Online (Sandbox Code Playgroud)
现在,使用它.
var mcc=new MyCustomClass();
mcc.fun(xxxx);
var mcc2=new MyCustomClass();
mcc2.fun(xxxx);
Run Code Online (Sandbox Code Playgroud)
现在,我想知道在内存中会创建多少个"innerFun01"和"innerFun02"函数的副本?
我真的很困惑.
每次调用函数"fun"时,都会构造这些函数.(我认为说这些函数的新实例将被构造更正确.)
没关系.现代JavaScript运行时系统非常好.在首次解析外部函数时,可能会将源代码转换为......以及(thunks,机器代码,线程代码......),以便函数的实际"实例化"真正实现廉价.
许多功能语言具有相似的特征.(let ...)每次调用其包含函数时,都会使用a 或者某种东西声明一个本地Scheme函数.
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |