收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 1860|回复: 2

[讨论] 关于new之后作用域的变化

[复制链接]
发表于 2012-10-11 21:13:16 | 显示全部楼层 |阅读模式
25体力
本帖最后由 kxm1984 于 2012-10-11 21:14 编辑

 提示:您可以先修改部分代码再运行




new完之后a的作用域就发生了变化,a成为了对象,this指向它自身,我不知道这样理解有没有问题,请大家讨论下,谢谢!

最佳答案

查看完整内容

你的理解是对的 在你没有实例化对象之前 当前的作用域永远是window 可以这样理解: 定义一个函数function aa(){...} 可以直接调用aa(); 其实规范意义上的应该这样调用window.aa(); 只是因为这时候作用域是window下所以一般可以省略window, 当你new实例化了一个对象后,对象的原型新增属性也会赋给对象了,当前的对象就是实例化后的对象了,因此this的作用域就不是之前的window了,而是实例化的对象,也就是说你如果没有新 ...
发表于 2012-10-11 21:13:17 | 显示全部楼层
本帖最后由 koushuiqiang 于 2012-10-14 17:57 编辑

你的理解是对的  在你没有实例化对象之前  当前的作用域永远是window
可以这样理解:
定义一个函数function aa(){...}
可以直接调用aa();
其实规范意义上的应该这样调用window.aa();
只是因为这时候作用域是window下所以一般可以省略window,
当你new实例化了一个对象后,对象的原型新增属性也会赋给对象了,当前的对象就是实例化后的对象了,因此this的作用域就不是之前的window了,而是实例化的对象,也就是说你如果没有新增原型属性 i , 此时  this.i  就会是undefined了.
回复

使用道具 举报

 楼主| 发表于 2012-10-15 08:48:20 | 显示全部楼层
我感觉我要讨论的这个东西,对我们学习js有很大的帮助,为什么,没有人回应呢??是太简单了,还是太难了??
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )  

GMT+8, 2020-8-11 12:30 , Processed in 0.109099 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表