长沙java培训
达内长沙芙蓉路中心

18487146383

热门课程

JS中this的使用技巧:作为对象的方法调用

  • 时间:2016-08-30
  • 发布:长沙Java培训
  • 来源:codeceo.com

JS中的this有很多技巧,熟练运用这些技巧就可以帮助我们节省不少时间。接下来跟着达内长沙java培训继续学习吧,这篇文章讲的是this作为对象的方法调用。

当一个函数被当作一个对象的方法调用的时候:

var obj = {

name: 'qiutc',

foo: function() {

console.log(this.name);

}

}

obj.foo();

// 'qiutc'

这时候,this指向当前的这个对象;

当然,我们还可以这么做:

function test() {

console.log(this.name);

}

var obj = {

name: 'qiutc',

foo: test

}

obj.foo();

// 'qiutc'

同样不变,因为在js中一切都是对象,函数也是一个对象,对于test,它只是一个函数名,函数的引用,它指向这个函数,当foo = test,foo同样也指向了这个函数。

如果把对象的方法赋值给一个变量,然后直接调用这个变量呢:

var obj = {

name: 'qiutc',

foo: function() {

console.log(this);

}

}

var test = obj.foo;

test();

// Window

可以看到,这时候this执行了全局,当我们把test = obj.foo,test直接指向了一个函数的引用,这时候,其实和obj这个对象没有关系了,所以,它是被当作一个普通函数来直接调用,因此,this指向全局对象。

上一篇:JS中this的使用技巧:全局执行
下一篇:JS中this的使用技巧:箭头函数

达内长沙Java培训教你阅读GC日志

spring注入配置文件属性到java类

Java中Vector和ArrayList的区别

达内长沙Java培训详解volatile关键字

选择城市和中心
贵州省

广西省

海南省