this 关键字理解
2015-07-12 11:46
204 查看
下面代码的运行结果是什么并做解释。
答案
代码输出:Aurelio De Rosa 和 John Doe
理由是,Javascript中关键字this所指代的函数上下文,取决于函数是怎样被调用的,而不是怎样被定义的。
在第一个console.log(),getFullname()被作为obj.prop对象被调用。因此,当前的上下文指代后者,函数返回这个对 象的fullname属性。相反,当getFullname()被赋予test变量,当前的上下文指代全局对象window,这是因为test被隐式地作 为全局对象的属性。基于这一点,函数返回window的fullname,在本例中即为代码的第一行。
代码输出:Aurelio De Rosa 和 John Doe
理由是,Javascript中关键字this所指代的函数上下文,取决于函数是怎样被调用的,而不是怎样被定义的。
在第一个console.log(),getFullname()被作为obj.prop对象被调用。因此,当前的上下文指代后者,函数返回这个对 象的fullname属性。相反,当getFullname()被赋予test变量,当前的上下文指代全局对象window,这是因为test被隐式地作 为全局对象的属性。基于这一点,函数返回window的fullname,在本例中即为代码的第一行。
相关文章推荐
- BestCoder Round #47 1003
- 基于UML和ASP.NET实现三层B/S结构系统开发
- 报错:1130-host ... is not allowed to connect to this MySql server
- HDU 2048 神、上帝以及老天爷
- iOS和Android的对比
- 黑马程序员——JAVA基础---类与对象
- 对第14章类型信息中RegisteredFactories.java的理解
- openldap 操作实战
- POJ 3126 && HDU 1973 Prime Path(bfs)
- CENTOS6.5中VIM插件配置,重点记录YouCompleteMe的安装 2015-7
- 关于PHP会话:session和cookie
- 人群拥挤检测之人数检测二
- 卓越程序员密码
- .Net路(十三)导出数据库到EXCEL
- 笔试题 百度2015大数据云计算研发笔试(关灯开灯)
- C++拷贝构造函数详解
- HTTP协议详解(真的很经典)
- 字符串hash
- leetcode 62:Unique Paths
- TCP和http的keepalive