美文网首页
JavaScript中的this

JavaScript中的this

作者: JYOKETSU3 | 来源:发表于2017-10-10 10:36 被阅读0次
  • 自运行函数其实是window对象调用它!函数分普通函数和构造函数,普通函数的this指向window,构造函数的this指向它本身,谁调用它this就指向谁!
  • 函数定义的方式(通过函数声明、函数表达式、new Function)与this的取值无关,有没有闭包也与this无关!

例1

var price = 100;
var Book = function(){
  this.price = 200;
  return function(){
    console.log(this===window); // true (执行book()时打印)
    return this.price;
  }
};

var book = new Book();
console.log(book); // function(){...} (内容为return的函数体内容)
console.log(book()); // 100

例2

var Book = (function(){
  var name="test";
  console.log(this===window); // true (自执行函数执行时打印)
  return function(){
    this.price=200;
    this._name=name;
    console.log(this); // Object{_name: "test",price: 200} (new运算符生成book对象时打印)
  }
})();

var book = new Book();
console.log(Book instanceof Function); // true (函数体为return的函数内容)
console.log(book); // Object{_name: "test",price: 200} (new运算符生成book对象时打印)
console.log(book.price); // 200

相关文章

  • 1body中添加js

    1 中的 JavaScript JavaScript 函数和事件上面例子中的 JavaScript 语句,会...

  • JS中的类型转换

    JavaScript 中的类型转换 JavaScript 基本数据类型 JavaScript 中的一共有 8 中内...

  • js中的this

    javascript中的this javascript中的this与java中的this有点不同。ECMAScri...

  • JavaScript中的字符串

    @(javascript)[js字符串][toc] JavaScript中的字符串 字符串是JavaScript中...

  • 06-JavaScript数组和函数

    JavaScript数组 JavaScript中的数组可以存储不同类型的数据 JavaScript中的数组是引用类...

  • Client's JavaScript

    什么是JavaScript? JavaScript的运行环境? 浏览器中JavaScript可以做什么? 浏览器中...

  • javascript中的this

    一般说到JS的this,都会想起在函数中变来变去的this。但是事情的发生都是有规则的约束,JS中的this也不例...

  • JavaScript中的this

    什么是this? 首先对this的下个定义:this是在执行上下文创建时确定的一个在执行过程中不可更改的变量。th...

  • JavaScript中的this

    JavaScript中的this很容易让人迷惑,但弄清楚后其实还是很好区分的。JavaScript中的this总是...

  • javascript中的this

    在javascript中的this大致可以理解成谁调用的this就指向谁 全局环境中的this 函数中的this ...

网友评论

      本文标题:JavaScript中的this

      本文链接:https://www.haomeiwen.com/subject/dmcvyxtx.html