为什么在未定义变量时变量赋值不会引发 ReferenceError - JavaScript

拉普斯

我已经在Chrome,歌剧,微软边缘,Internet Explorer和Mozilla Firefox浏览器尝试这样做,仍然得到同样的情况:一个ReferenceError异常不抛出该赋值的变量我没有定义。


语法是:

// Where `identifier_name` was not formally declared/ initialized.
(function() {})(identifier_name = 2)

为什么会出现这种行为?

编辑:只是补充一下,如果分配的是对象的属性,则这不起作用,即:

// Throws a ReferenceError that `object_name` is not defined.
(function() {})(object_name.property_name = 2)
乔纳斯·威尔姆斯

这就是我们过去所说的隐式全局变量的可怕之处

您基本上是意外创建了一个全局变量。你可以"use strict";模式来防止这种情况。

您的第二个代码段不起作用,因为您正在尝试访问尚未声明的变量,这与分配给尚未声明的变量不同(因为它隐式声明了该变量)。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript中的“ ReferenceError:变量未定义”

来自分类Dev

“ReferenceError:未定义”访问javascript中的变量

来自分类Dev

javascript变量是未定义的。为什么?

来自分类Dev

javascript Uncaught ReferenceError:未定义e

来自分类Dev

Soundcloud API ReferenceError:未定义$(JavaScript)

来自分类Dev

Javascript-ReferenceError:未定义agevalue

来自分类Dev

javascript Uncaught ReferenceError:未定义e

来自分类Dev

Javascript-ReferenceError:未定义$

来自分类Dev

Javascript ReferenceError:未定义min

来自分类Dev

未捕获的ReferenceError:onclick函数Javascript上未定义变量

来自分类Dev

传递Uncaught ReferenceError的Javascript函数变量在HTMLInputElement.onblur上未定义

来自分类Dev

ReferenceError:未定义xxxx ...将php变量分配给javascript

来自分类Dev

Javascript数组赋值变量未定义

来自分类Dev

javascript-定义的变量未捕获的ReferenceError

来自分类Dev

JavaScript未捕获ReferenceError:未定义jQuery;未捕获的ReferenceError:未定义$

来自分类Dev

JavaScript的typeof运算引发ReferenceError

来自分类Dev

Javascript ReferenceError:函数未定义,但已定义

来自分类Dev

ReferenceError:if语句后未定义变量

来自分类Dev

为什么我的变量在javascript中返回未定义?

来自分类Dev

为什么 NodeJS/Javascript 坚持这些变量是未定义的?

来自分类Dev

JavaScript-未捕获的ReferenceError:未定义KEY

来自分类Dev

Javascript未捕获ReferenceError:未定义增量

来自分类Dev

“未捕获的ReferenceError:未定义myVar” OOP Javascript

来自分类Dev

HTML和JavaScript未捕获ReferenceError:未定义addTable

来自分类Dev

如何在JavaScript中调试“ Referenceerror:未定义响应”?

来自分类Dev

未捕获的ReferenceError:未定义$(PHP中的JavaScript / HTML)

来自分类Dev

Javascript-未定义ReferenceError x(函数)

来自分类Dev

JavaScript引发ReferenceError时背后的逻辑是什么?

来自分类Dev

为JavaScript变量赋值后显示为未定义

Related 相关文章

  1. 1

    Javascript中的“ ReferenceError:变量未定义”

  2. 2

    “ReferenceError:未定义”访问javascript中的变量

  3. 3

    javascript变量是未定义的。为什么?

  4. 4

    javascript Uncaught ReferenceError:未定义e

  5. 5

    Soundcloud API ReferenceError:未定义$(JavaScript)

  6. 6

    Javascript-ReferenceError:未定义agevalue

  7. 7

    javascript Uncaught ReferenceError:未定义e

  8. 8

    Javascript-ReferenceError:未定义$

  9. 9

    Javascript ReferenceError:未定义min

  10. 10

    未捕获的ReferenceError:onclick函数Javascript上未定义变量

  11. 11

    传递Uncaught ReferenceError的Javascript函数变量在HTMLInputElement.onblur上未定义

  12. 12

    ReferenceError:未定义xxxx ...将php变量分配给javascript

  13. 13

    Javascript数组赋值变量未定义

  14. 14

    javascript-定义的变量未捕获的ReferenceError

  15. 15

    JavaScript未捕获ReferenceError:未定义jQuery;未捕获的ReferenceError:未定义$

  16. 16

    JavaScript的typeof运算引发ReferenceError

  17. 17

    Javascript ReferenceError:函数未定义,但已定义

  18. 18

    ReferenceError:if语句后未定义变量

  19. 19

    为什么我的变量在javascript中返回未定义?

  20. 20

    为什么 NodeJS/Javascript 坚持这些变量是未定义的?

  21. 21

    JavaScript-未捕获的ReferenceError:未定义KEY

  22. 22

    Javascript未捕获ReferenceError:未定义增量

  23. 23

    “未捕获的ReferenceError:未定义myVar” OOP Javascript

  24. 24

    HTML和JavaScript未捕获ReferenceError:未定义addTable

  25. 25

    如何在JavaScript中调试“ Referenceerror:未定义响应”?

  26. 26

    未捕获的ReferenceError:未定义$(PHP中的JavaScript / HTML)

  27. 27

    Javascript-未定义ReferenceError x(函数)

  28. 28

    JavaScript引发ReferenceError时背后的逻辑是什么?

  29. 29

    为JavaScript变量赋值后显示为未定义

热门标签

归档