Javascript中的this,bind和that使用实例
输出为:This is message from FooThis is message from Foo2主要原因就是this改变了,因此Javascript中this的用法,和C++\C#中的大为不同。如果需要传统方式使用this的函数,可以使用Function.prototype.bind(),指定函数的this值:输出为:This is message from FooThis is message from Foo另外使用call和apply也可以改变函数调用时的this值。bind函数的主要问题是IE9以后才开始提供。并且一旦开始习惯了Javascript的this用法,这种bind反而会不习惯。在实践中,更多用到的还是保存this:输出同上。这也是实践中用的最多的方法,推荐使用。
用户评论