say.call(window, "Hello world"),将say的执行环境修改为window,上下文改变,this指代window,创建作用域
say.call(person, "Hello world"),将say的执行环境修改为person,上下文改变,this指代person,创建作用域
因此,call才具有修改作用域的表现,但其实是改变函数的执行环境,重新创建作用域。

apply和call差不多,传递的参数不同罢了,只不过apply的第二个参数为arguments 就是这样 say.apply(person, arguments)
story:say.call(window, "Hello world"),将say的执行环境修改为window,上下文改变,this指代window,创建作用域
say.call(person, "Hello world"),将say的执行环境修...
回到原帖
谢谢了哦 让我豁然开朗

返回顶部