为什么这个JS代码段中的上下文会发生变化
Why does the context change in this JS snippet?
http://jsfiddle.net/raylu/C6Tkn/
function a() {
document.write(this + '<br />');
}
a();
a.apply('hello');
var b = function() {
a();
}
b.apply('hi');
我希望最后一行输出"hi",但它输出窗口。
this
旨在在该上下文中window
。
b()
的this
是'hi'
的,但这并不与b()
函数体中的任何函数调用继承/关联。这就是为什么this
当使用正常的函数调用方法(()
(通过b()
调用时a()
内部是window
。
相关文章:
- 将函数的上下文应用于javascript变量
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 单击页面上的链接后高度发生变化
- 使用JQuery的动态上下文菜单
- 如何访问UIWebView'的子窗口上下文
- React redux初始化功能,无论状态变化如何
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- JQuery在单击正文时隐藏上下文菜单
- JQuery上下文菜单显示/隐藏问题
- JS幻灯片与CSS背景颜色变化
- 如何从HTTP上下文对象中获取Post数据
- HTML字符串作为上下文
- 为什么我的上下文选择器和.buttonset()在ie中花费了这么长时间
- 重新加载页面时Javascript变量发生变化
- 如何获得Bootstrap Datepicker的年和月,因为它在变化
- 丢失对象“;这个“;方法中的上下文
- 调用$.each()函数时上下文发生变化
- 为什么这个JS代码段中的上下文会发生变化
- D3,当上下文发生变化时,第二焦点不会移动