读《javascript高级程序设计》的一段小代码的困惑 javascriptfunction基础知识 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 作用域 第一段都指向window里的sayname 所以是同一个函数第二段指指向构造函数里的sayname 所以不是同一个 第二段不是同一个?为什么两次实例化都跑同一个构造函数。都是使用同样的函数引用function sayName () { // 将sayName写在构造函数内部 return this.name; },怎么会是不同是函数呢? 后面本人换了个思路去理解。如果使用fun都是obj对象和垃圾回收以及闭包去理解的话,那么第二段把函数放在构造函数内部里面的话,这里每次跑完这个构造函数的时候,这个闭包的作用域都完结了【外部没有引用这个函数了】。也就是说出了这个引用了。垃圾回收这个函数了。下次,再跑进来的时候,重新在堆中创建了一个function来给this.sayName去引用了。所以,是可以使用function sayName () { // 将sayName写在构造函数内部 return this.name; }这种方式去理解的。而第一种方式sayName这个函数一直被window引用,没有被垃圾回收,this.sayName 都指向了Window的sayName方法了。这样应该是能说的通的。 求救啊,给我大神帮帮忙!Webstorm5.0 征求masonry框架学习 JQgrid表格钻取的实现? 能否改变用javascript的 alert函数弹出的对话框中的图标以及自定义编辑alert的标题(来自网页信息) jQuery [checkbox+radio]+label无法控制checkbox多选 跨域问题 this的疑惑 随机选人程序问题 请教:::Html中,下拉列表框<select ..>如何控制成固定宽度,但是option的内容还可以悬浮显示 有个简单的效果,我不知道怎么做,大家帮忙(内详) 正则表达式 ie8中ajax操作出现c00ce514导致此操作无法执行
第二段指指向构造函数里的sayname 所以不是同一个
// 将sayName写在构造函数内部
return this.name;
},怎么会是不同是函数呢?
如果使用fun都是obj对象和垃圾回收以及闭包去理解的话,那么第二段把函数放在构造函数内部里面的话,
这里每次跑完这个构造函数的时候,这个闭包的作用域都完结了【外部没有引用这个函数了】。也就是说出了这个引用了。垃圾回收这个函数了。下次,再跑进来的时候,重新在堆中创建了一个function来给this.sayName去引用了。所以,是可以使用function sayName () {
// 将sayName写在构造函数内部
return this.name;
}这种方式去理解的。而第一种方式sayName这个函数一直被window引用,没有被垃圾回收,this.sayName 都指向了Window的sayName方法了。
这样应该是能说的通的。