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. 【推理引擎】如何在 ONNXRuntime 中添加新的算子

    如果模型中有些算子不被ONNX算子库支持,我们就需要利用ONNXRuntime提供的API手动添加新算子.在官方文档中已经对如何添加定制算子进行了介绍(https://onnxruntime.ai/d ...

  2. stm32学习总结)—SPI-FLASH 实验 _

    SPI总线 SPI 简介 SPI 的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola 首先在其 MC68HCXX 系列处理器上 ...

  3. MOS管防反接电路设计

    转自嵌入式单片机之家公众号 问题的提出 电源反接,会给电路造成损坏,不过,电源反接是不可避免的.所以,我们就需要给电路中加入保护电路,达到即使接反电源,也不会损坏的目的 01二极管防反接 通常情况下直 ...

  4. android JS 互相通讯

    1.android中利用webview调用网页上的js代码. Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true ...

  5. Android点击按钮退出程序并提醒

    效果展示: MainActivity.java import androidx.appcompat.app.AppCompatActivity; import android.app.AlertDia ...

  6. 将java的对象或集合转成json形式字符串

    将java的对象或集合转成json形式字符串: json的转换插件是通过java的一些工具,直接将java对象或集合转换成json字符串. 常用的json转换工具有如下几种: 1)jsonlib 需要 ...

  7. Node的重要性

    一. 为什么要学Node 1. 是自己更全面, 有大局观 2. 提升话语权 3. 升职加薪的筹码 二. Node的作用和应用 1. 脱离浏览器运行 js 2. 后台API编写 3. webpack, ...

  8. JavaScript实现简单轮播图动画

    运行效果: 源代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset=&quo ...

  9. URLDNS反序列化链学习

    URLDNS URLDNS跟CommonsCollections比起来真是眉清目秀,该链主要用于验证漏洞,并不能执行命令,优点就是不依赖任何包. 1.利用链 * Gadget Chain: * Has ...

  10. 面试 | Java 算法的 ACM 模式

    (Java 算法的 ACM 模式) 前言 经常在 LeetCode 上用核心代码模式刷题的小伙伴突然用 ACM 模式可能会适应不过来,把时间花在输入输出上很浪费时间,因此本篇笔记对 Java 算法的 ...