JavaScript 中,观察如下代码:
var m = 0;
var n = 0;
function Parent()
{
m++;
}
function Son()
{
n++;
}
alert("m=" + m + "\r\nn=" + n); // m=0, n=0;
Son.prototype.myParent = new Parent();
alert("m=" + m + "\r\nn=" + n); // m=1, n=0
var s1 = new Son();
var s2 = new Son();
alert("m=" + m + "\r\nn=" + n); // m=1, n=2
可以发现 m 在 Son.prototype.myParent = new Parent(); 这句发生了改变,说明在这里 new Parent() 已经执行,其内存已经分配,之后 m 没有再发生变化。