美文网首页
ES6 Class里面的this对象

ES6 Class里面的this对象

作者: 卓三阳 | 来源:发表于2018-09-09 22:40 被阅读199次
class Person {
    constructor(name){
        this.name =name
    }
    says(some){
        setTimeout(function(){
            console.log(this.name+ ' says ' + some)
        }, 1000)
    }
    //第一种是将this传给self,再用self来指代this
    says1(some){
        var self = this;
        setTimeout(function(){
            console.log(self.name+ " says1 " +some);
        },1000)
    }
    //第二种方法是用bind(this),即
    says2(some){
        setTimeout(function(){
            console.log(this.name+ " says2 " + some);
        }.bind(this),1000);
    }
    //第三种方法是箭头函数
    says3(some){
        setTimeout( () => {
            console.log(this.name+ ' says3 ' + some)
        }, 1000)
    }
}
 
 var p1 = new Person("GG")
 p1.says('hi')  //undefined says hi
 p1.says1('hi')  //GG says1 hi
 p1.says2('hi')  //GG says2 hi
 p1.says3('hi')  //GG says3 hi

相关文章

  • ES6 Class里面的this对象

  • ECMAScript6基础学习教程(六)类

    ES6里引入Class概念,非常类似其他面向对象语言(比如Java)。实际上,Class只是简化了对象原型方法的语...

  • 关于class

    关于class ES6 通过class 关键字,可以定义类。新的class写法让对象原型写法更加清晰,更像面向对象...

  • 2JavaScript设计模式--class/extends

    ES6语法 类 class ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板...

  • JS基础:面向对象编程

    目录一. 类与对象 1. ES5里的构造函数(constructor)与对象的生成 2. ES6里的类(class...

  • JavaScript OOP篇

    参考资料 JavaScript面向对象简介 ES6对象的拓展 ES6 class 前言 本篇主要介绍 JavaSc...

  • 第三十二节: ES6 Class类

    1. ES6 Class 类 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板...

  • 第三十二节: ES6 Class类

    1. ES6 Class 类 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板...

  • javaScript对象的继承

    目录: 伪继承 通过中间对象实现 ES6 class实现继承关系 1.伪继承 父类: 子类: 示例: 接着上面的代...

  • ES6面向对象

    1、ES6面向对象: class(类) 构造函数 对象 实例对象 ES5面向对象是模拟面向对象。 2、继...

网友评论

      本文标题:ES6 Class里面的this对象

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