为什么需要在对象中的函数中的if语句中的“ this”内部而不是外部?的JavaScript

杜·杜

代码看起来像这样

let car = {
    make: "bmw",
    model: "520",
    isStarted: false,
    start: function() {
        isStarted = true
    },
    drive: function() {
        if (isStarted) {
            console.log("I am driving away....")
        } else {
            console.log("I am still false")
        }
    }
}

car.start();
car.drive();

我读到,因为它isStarted是对象的一部分,所以我需要使用它this来告诉JavaScriptisStarted我正在考虑的对象。但是car.start()执行时就像它知道它isStarted来自对象一样,不需要this关键字,除非

....
start: function() {
    if(!isStarted) {
       isStarted = true
    }
}
....

isStarted被放置在里面if,现在我需要,if (this.isStarted)因为它会抛出未防御状态。

妮娜·斯科茨(Nina Scholz)

您需要thisstart函数中进行寻址,否则您将创建一个全局变量isStarted

let car = {
    make: "bmw",
    model: "520",
    isStarted: false,
    start: function() {
        this.isStarted = true;
    },
    drive: function() {
        if (this.isStarted) {
            console.log("I am driving away....")
        } else {
            console.log("I am still false")
        }
    }
}

car.start();
car.drive();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Java

为什么需要在Java中向HTTP请求返回Response对象而不是String对象?

来自分类Dev

为什么原型在对象中而不是功能中考虑

来自分类Dev

如何访问从 JavaScript 中对象外部的函数内部调用的数组

来自分类Javascript

为什么函数的自变量不是JavaScript中的数组对象?

来自分类Dev

为什么变量不是在同一个函数中定义的,而是在不同的 if/else 语句中定义的?

来自分类Javascript

为什么要在javascript中的每个函数之后使用分号?

来自分类Dev

为什么要在函数中声明调用javascript类方法?

来自分类Dev

JavaScript 中 for 循环的内部和外部

来自分类Dev

Javascript / Typescript从函数内部调用外部函数

来自分类Dev

构造函数内部与外部的 JavaScript 类属性

来自分类Dev

在类内部和外部定义JavaScript函数

来自分类Dev

如何从URL内部函数调用外部JavaScript

来自分类Dev

函数中的if语句中断javascript

来自分类Dev

为什么我在If语句中设置的变量不能在javascript中的if语句之外起作用?

来自分类Dev

JavaScript:如何在异步内部函数内部返回外部函数?

来自分类Dev

如何从javascript中的内部函数为外部变量赋值?

来自分类Dev

为什么要在switch语句中的“默认”下而不是“大小写”下定义变量

来自分类Dev

如何使用内部对象函数Javascript访问外部对象属性

来自分类Dev

为什么我需要在 18.04 中启用 `universe` 存储库 - 它不是默认启用的吗?

来自分类Dev

为什么我需要在C ++正则表达式中编写\\ d而不是\ d?

来自分类Dev

Javascript:为什么if语句不评估函数中的提升变量

来自分类Dev

为什么在此javascript函数中需要大括号?

来自分类Dev

如何在对象中查找特定项目不是javascript中的函数

来自分类Dev

VS Code中的JavaScript:为什么不能在“ switch”语句中折叠“ case”代码块?

来自分类Dev

当您可以构建常规函数时,为什么还要在Javascript中构建静态函数?

来自分类Dev

为什么要在JavaScript中的JSON对象数组中创建额外的数组数组

来自分类Dev

在JavaScript中的if语句中使用不带括号的函数名会做什么?

来自分类Javascript

JavaScript中的单行语句中是否需要大括号?

来自分类Dev

为什么在内部闭包中需要mut,但在外部函数的参数中却不需要mut?

Related 相关文章

  1. 1

    为什么需要在Java中向HTTP请求返回Response对象而不是String对象?

  2. 2

    为什么原型在对象中而不是功能中考虑

  3. 3

    如何访问从 JavaScript 中对象外部的函数内部调用的数组

  4. 4

    为什么函数的自变量不是JavaScript中的数组对象?

  5. 5

    为什么变量不是在同一个函数中定义的,而是在不同的 if/else 语句中定义的?

  6. 6

    为什么要在javascript中的每个函数之后使用分号?

  7. 7

    为什么要在函数中声明调用javascript类方法?

  8. 8

    JavaScript 中 for 循环的内部和外部

  9. 9

    Javascript / Typescript从函数内部调用外部函数

  10. 10

    构造函数内部与外部的 JavaScript 类属性

  11. 11

    在类内部和外部定义JavaScript函数

  12. 12

    如何从URL内部函数调用外部JavaScript

  13. 13

    函数中的if语句中断javascript

  14. 14

    为什么我在If语句中设置的变量不能在javascript中的if语句之外起作用?

  15. 15

    JavaScript:如何在异步内部函数内部返回外部函数?

  16. 16

    如何从javascript中的内部函数为外部变量赋值?

  17. 17

    为什么要在switch语句中的“默认”下而不是“大小写”下定义变量

  18. 18

    如何使用内部对象函数Javascript访问外部对象属性

  19. 19

    为什么我需要在 18.04 中启用 `universe` 存储库 - 它不是默认启用的吗?

  20. 20

    为什么我需要在C ++正则表达式中编写\\ d而不是\ d?

  21. 21

    Javascript:为什么if语句不评估函数中的提升变量

  22. 22

    为什么在此javascript函数中需要大括号?

  23. 23

    如何在对象中查找特定项目不是javascript中的函数

  24. 24

    VS Code中的JavaScript:为什么不能在“ switch”语句中折叠“ case”代码块?

  25. 25

    当您可以构建常规函数时,为什么还要在Javascript中构建静态函数?

  26. 26

    为什么要在JavaScript中的JSON对象数组中创建额外的数组数组

  27. 27

    在JavaScript中的if语句中使用不带括号的函数名会做什么?

  28. 28

    JavaScript中的单行语句中是否需要大括号?

  29. 29

    为什么在内部闭包中需要mut,但在外部函数的参数中却不需要mut?

热门标签

归档