Javascript TypeError:变量是未定义的,仅用于访问索引

Javascript TypeError: variable is undefined only for accessing index

本文关键字:用于 访问 索引 未定义 TypeError 变量 Javascript      更新时间:2023-09-26

如果我写以下代码:

    f();
    function f(v) {
        var a  = v;
    }

浏览器在控制台中没有给出警告/错误。但是如果我写

    f();
    function f(v) {
        var a  = v['hellp'];
    }

则抛出:TypeError: v is undefined。尽管在这两种情况下都没有定义变量"v"。有人能解释一下吗?

在第一个示例中,您将undefined分配给a

在第二个示例中,您试图读取undefinedhellp属性(并将该属性的值赋给a)。undefined不能有属性,所以当你试图访问它的属性时,你会得到一个错误。

我认为这是undefined在这两种情况下,你可以分配未定义的东西,但如果你试图访问一个字段或调用一个方法的错误被抛出

a设置为未定义没有问题(v是未定义的!),但是访问未定义的变量有问题!!想想看!在第一种情况下,您只设置一个,但在第二种情况下,您试图读取未定义变量的属性(即help) !