ES6函数里的this指的是定义这个函数时外层代码的this,可以理解为:
1、ES6箭头函数没有自己的this;
2、ES6箭头函数的this是外层代码(定义时,非执行时,也就是词法作用域)this的引用。

<script>
var Animal = function () {
this.name = "Animal";
this.speak = (words) => {
console.log(this.name + " is saying " + words + ".");
}
this.diff = function (words) {
console.log(this.name + " is saying " + words + ".");
}
}; var cat = new Animal();
cat.speak("miao!"); // Animal is saying miao!.
cat.diff("common"); // Animal is saying common.
console.log("------------------------");
var speak = cat.speak;
speak("miao!"); // Animal is saying miao!.
var diff = cat.diff;
diff("common"); // is saying common.
</script>

《你不知道的JS》上卷this全面解析章节提到:

<script>
function foo() {
console.log(this.a); // 43
}
var a = 2; //声明在全局作用域中的变量(比如 var a = 2) 就是全局对象的一个同名属性
window.a = 43; // 没有这句的话会打印出2
foo();
</script>

随机推荐

  1. 什么是JDK?什么是JRE?说说它们之间的区别?

     JDK (Java Development Kit)  JDK是整个Java的核心,包括了Java运行环境JRE(Java Runtime Envirnment),一堆Java工具(javac,ja ...

  2. 哪个类包含 clone 方法?是 Cloneable 还是 Object?

    java.lang.Cloneable 是一个标示性接口,不包含任何方法,clone 方法在 object 类中定义.并且需要知道 clone() 方法是一个本地方法,这意味着它是由 c 或 c++ ...

  3. 关于 DispatcherServlet.properties 文件

    1.文件位置 2.文件内容 3.文件作用 前端控制器会从 DispatcherServlet.properties 文件中加载 HandlerMapping(处理器映射器).HandlerAdapte ...

  4. python办公自动化系列之金蝶K3(三)

    小爬在之前的两篇文章 [python办公自动化系列之金蝶K3自动登录(一)].[python办公自动化系列之金蝶K3自动登录(二)]带大家系统搞定了K3客户端的自动登录难题,但是搞定[自动登录]只是我 ...

  5. 4_ 比例控制器_燃烧卡路里(2)_Matlab/Simulink_Proportional Control

  6. 关于Css的垂直居中的一些方法

    前两种方法称为大致居中,一般误差随高度的减小而减小,不过一般来说不怎么看得出来,除非你用javascript调用offsetTop来查看.不然没有强迫症的比较难看出来.但是兼容性很好,尤其是table ...

  7. java中请给出一个return this的例子。

    [新手可忽略不影响继续学习]下面例子中setYear中的return this;返回了一个指向对象的指针,this.setMonth(8).setDay(20);是合法的,如果像原来的例子一样什么都不 ...

  8. 移动端页面中点击input输入框的时候弹出的键盘将输入框挡住的问题

    使用的是vux框架, 以为是框架问题, 后来发现是把当前页面的高度写死为了height:200%: 只要把高度去掉就能让页面自动弹到输入框的上方:

  9. 解决vscode卡顿,CPU占用过高的问题

    打开vscode之后,点击文件==>首选项==>设置 搜索设置 search.followSymlinks   然后将这个值改为false

  10. 解决“WARNINGThe remote SSH server rejected X11 forwarding request.“警告

    使用xshell连接服务器时,出现了"WARNING! The remote SSH server rejected X11 forwarding request.",意思是&qu ...