javascript - true作为对象属性在IE和chrome结果不一样
黄舟
黄舟 2017-04-11 10:10:56
0
5
409
<script type="text/javascript">
    var test = {
        true: 'success'
    }
    console.log(test.true)
</script>

同样的代码,在chrome和IE下运行的结果都不一样:

开始我以为true属性Boolean对象,因为:

var a=true;
console.log(a.constructor==Boolean);    //true

但是我试着修改Boolean原型上的true属性失败,而且用hasOwnProperty和in判断也为false。

为什么IE不支持用true关键字作为对象属性,而chrome可以?
怎样才能让IE也可以用这种写法?
[注]:我是在看一个源码文件,下面大量使用了test.true,我想在【定义test这个对象之前】作出修改保证在IE下能用test.true运行成功。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(5)
PHPzhong

为什么我的IE可以。。。

在html中:

在js中

阿神

这样写不就可以了吗?

大家讲道理

ie就是垃圾,可以考虑不支持。

但是你这么写代码确实不好,怎么可以把关键字定义成你的属性呢。。。这么干别人直接就认为你很业余了。

迷茫

二楼正解,关键字最好不要作为你的属性值,要不以后的bug很难找到

PHPzhong

是我的IE调试【文档模式】没选对,应该这样选才不会报错。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template