Javascript 为什么'name'变量不出错?

Javascript 为什么'name'变量不出错?,javascript,html,Javascript,Html,当我试图在js中创建和访问对象的属性时,它使我混淆了未定义的变量:name和name\u aaa。有关更多信息,请参阅以下代码: <!DOCTYPE html> <html> <body> <p id="demo">Display the result here.</p> <script> var persion = { name: "GSP", age: 50,

当我试图在js中创建和访问对象的属性时,它使我混淆了未定义的变量:
name
name\u aaa
。有关更多信息,请参阅以下代码:

<!DOCTYPE html>
<html>
<body>

<p id="demo">Display the result here.</p>

<script>
    var persion = {
        name: "GSP",
        age: 50,
        show: function() {
            document.getElementById("demo").innerHTML = "Hello " + this.name;
            /*
                Output: Hello GSP
            */
            document.getElementById("demo").innerHTML = "Hello " + name;
            /*
                Output: Hello 
                It does not show any error.
            */
            document.getElementById("demo").innerHTML = "Hello " + name_aaa; 
            /*
                sss.html:21 Uncaught ReferenceError: name_aaa is not defined
                at Object.show (sss.html:21)
                at sss.html:29
            */
        }
    };
    persion.show();
</script>

</body>
</html>

在此处显示结果

变量person={ 名称:“普惠制”, 年龄:50,, show:function(){ document.getElementById(“demo”).innerHTML=“Hello”+this.name; /* 输出:你好,普惠制 */ document.getElementById(“demo”).innerHTML=“Hello”+name; /* 输出:您好 它没有显示任何错误。 */ document.getElementById(“demo”).innerHTML=“Hello”+name\u aaa; /* sss.html:21未捕获引用错误:未定义名称\u aaa at Object.show(sss.html:21) http://sss.html:29 */ } }; person.show();

请您解释一下为什么
name
不是错误,但是
name\u aaa
会抛出错误?

name
是全局
窗口。name
@Xufox为什么在“Hello”之后不显示任何内容?@GSP因为
窗口。name
默认为空字符串。只需使用(点击
F12
)。你可以自己回答这类问题。非常感谢。我知道了。
name
是全局
窗口。name
@Xufox为什么在“Hello”之后不显示任何内容?@GSP因为
window。name
默认为空字符串。只需使用(点击
F12
)。你可以自己回答这类问题。非常感谢。我得到了它。