[英]Weird issue in console.log(name)
name
是window
对象中的全局变量。 因此,当您记录时,它会查找全局值,在您的情况下,其值为空字符串( ""
)。
console.log(name); console.log(window.name);
任何没有附加窗口但仍在控制台日志或浏览器中工作的东西都是全局对象,在这种情况下,您将在控制台中打印window.name。
尝试以这种方式检查,在您的控制台中,键入以下代码:
window.name = 'stackoverflow';
然后尝试再次执行console.log(name),这次你会看到'stackoverflow'。 所以基本上你在控制台中打印的名称是窗口名称......
有关window.name的更多信息,请访问以下链接:
https://developer.mozilla.org/en-US/docs/Web/API/Window/name
这是键入语句console.log(name)
时发生的情况:
name
(在您的情况下登录到控制台)。 window
对象是否具有名为name的属性,因为在浏览器中,全局范围由window
对象表示。 window.name
或只是name
应返回名称未定义 。 window
对象有一组预定义/本机属性,名称就是其中之一。 window.name
默认具有值“”(空字符串),因此它将空字符串记录到您的控制台。 现在,当您键入console.log(name100)
时,就会发生这种情况:
与之前相同(name100而不是name)。
与之前相同(name100而不是name)。
您没有声明name100也不是它是窗口对象的本机属性,因此它只是返回name100 is not defined
。
如果您想检查窗口对象附带的属性,可以查看以下链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.