读《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方法了。这样应该是能说的通的。 DOM中一对tag,有时是一个节点,有时是两个节点? Action Script Viewer(ASV) 最新版谁有 解释型语言什么什么的。。。。。 怎么用JAVASCRIPT动态生成表格? js冒泡? 表格某行点击变化的javascript怎么写(在线等) 如果可以做到多组复选框的各自全选? 用javascript获取数据库中的内容 怎么才能???实现对视频的控制 如何判断用户触发了SHIFT+U键 正则表达式 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方法了。
这样应该是能说的通的。