apply.call问题 财富值65

2016-10-12 13:53发布

请问下,什么时候使用这两个调用函数?这两个的区别,以及分别什么情况下使用?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答

这个例子是在前面说明 this 对象的示例基础上修改而成的。这一次,sayColor() 也是作为全局函数定义的,而且当在全局作用域中调用它时,它确实会显示 "red",因为对 this.color 的求值会转换成对 window.color 的求值。而 sayColor.call(this)sayColor.call(window),则是两种显式地在全局作用域中调用函数的方式,结果当然都会显示 "red"。但是,当运行 sayColor.call(o) 时,函数的执行环境就不一样了,因为此时函数体内的 this 对象指向了 o,于是结果显示的是 "blue"

一周热门 更多>