首页 > 解决方案 > 为什么我不能定义一个名为“status”的数组?

问题描述

如题。有人能告诉我为什么吗?非常感谢!

<script type="text/javascript">
        var status=[1,2,3];
        console.log(typeof(status));
        console.log(status);        // the result is "1,2,3"

        var normal_array=[1,2,3]; 
        console.log(typeof(normal_array));
        console.log(normal_array);  // the result is "(3) [1,2,3]"
</script>

标签: javascript

解决方案


window.status

设置浏览器底部状态栏中的文本或返回之前设置的文本。

此属性在 Firefox 和其他一些浏览器的默认配置中不起作用:设置 window.status 对状态栏中显示的文本没有影响。要允许脚本更改状态栏文本,用户必须在 about:config 屏幕中将 dom.disable_window_status_change 首选项设置为 false。

它不能是字符串以外的任何东西,所以当你使用

var status = [1,2,3];

它会立即转换为字符串。

请注意,顶层的constand lets 不会分配给全局对象:

const status = [1,2,3];
console.log(typeof status);

另一种选择是简单地将您status放入 IIFE:

(() => {
  var status = [1,2,3];
  console.log(typeof status);
})();


推荐阅读