function a(sum1,sum2){
var sum=sum1+sum2;
alert(sum);
}
//请问下面这两个函数的执行方式在内存中创建的方式是不是不一样一个
//相当于在堆内存中分别new了两个函数对象 (第一种执行方式),而下面那个就是将rs变量指向了a这个函数对象,
//一次执行完后 这个堆内存中的函数对象清除,然后重新new了一个函数 但是该对象的引用rs中存放的对象在堆内存中的地址是不发生变化的;也就是说这个栈内存始终指向了这个堆内存中的地址,
//下面那个Gc垃圾回收策略不会将rs这个存放栈内存中的变量在第一次和第二次之间将其清除
a(1,4);
a(1,5);
var rs=a;
rs(1,4);
rs(1,5);
var sum=sum1+sum2;
alert(sum);
}
//请问下面这两个函数的执行方式在内存中创建的方式是不是不一样一个
//相当于在堆内存中分别new了两个函数对象 (第一种执行方式),而下面那个就是将rs变量指向了a这个函数对象,
//一次执行完后 这个堆内存中的函数对象清除,然后重新new了一个函数 但是该对象的引用rs中存放的对象在堆内存中的地址是不发生变化的;也就是说这个栈内存始终指向了这个堆内存中的地址,
//下面那个Gc垃圾回收策略不会将rs这个存放栈内存中的变量在第一次和第二次之间将其清除
a(1,4);
a(1,5);
var rs=a;
rs(1,4);
rs(1,5);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货