我有这个代码-
var status = ["A", "B", "C", "D", "E", "F"];
$(function() {
console.log(window.status);
console.log(typeof window.status);
var status = ["A", "B", "C", "D", "E", "F"];
console.log(status);
console.log(typeof status);
});
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
在 $(function() {});
之外,var status
被声明为数组。
然而,当将其记录到控制台时,它显示为字符串。
我在ready函数中重复同样的事情,这次它的行为和它应该的一样。这段代码有什么问题?
最佳答案
window.status
是定义浏览器状态栏文本(字符串)的属性。因此,您的数组会自动转换为字符串。
如果您移动status
,就可以防止这种情况发生。到它自己的闭包中,例如将其包装在 (function(){...})();
中并通过 status
访问它,不是window.status
.
关于Javascript - 数组一直被解释为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45387751/