Javascript - 数组一直被解释为字符串

标签 javascript jquery

我有这个代码-

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/

相关文章:

javascript - 在 contenteditable div 中保持光标位置

c# - 允许用户编辑/添加/移动图像中的项目

PHP/MySQL/Jquery - 构建关联数组并使用 JQuery $.each 输出它

javascript - 如何禁用单行的 Flow (JS) 类型检查

javascript - Web 应用程序脚本 - 如何从要在搜索中使用的问题中提取值来填充另一个问题?

javascript - 在 .on() 点击事件中附加后选择器不起作用

javascript - Jquery 回调函数无法重定向页面

jquery - 防止组合框和镶边的默认行为

javascript - PHP:计算服务器和客户端之间的时间差

javascript - tinymce 不支持 React hook 形式