老师我用的是火狐75版本的浏览器,以下代码返回的是true是怎么回事?

来源:5-9 其他操作符

慕码人4283470

2020-04-12 18:39:34

<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <!-- 1、赋值操作符
        (1)简单赋值: =
        (2)复合赋值:+=、-=、*=、/=、%=
        2、比较操作符
        (1)==:只比较值是否相等
        (2) ===:全等,比较值的同时还比较类型是否相等
        (3)!=:只比较值是否不相等
        (4)!==:不全等,比较值的同时还比较类型是否不相等
        返回值:布尔
        说明: null==undefined (undefined由null派生出来,值相等返回true)。
        null===undefined (undefined和null是不同的数据类型,返回flase)。
        3、三元操作符
        条件?执行代码1:执行代码2 -->
        <script type="text/javascript">
            var name = 10,
                bx = "10";
            var c = name===bx;
                // document.write(name==bx);
                document.write(c);
                // document.write(name!=bx);
                // document.write(name!==c);
        </script>
    </head>
    <body>
    </body>
</html>

使用IE浏览器返回的值是false,这是为什么呢?

写回答

1回答

好帮手慕星星

2020-04-12

同学你好,测试代码效果火狐浏览器以及chrome浏览器效果是一样的,可能是新版本机制的问题。因为window对象中有name属性,默认为字符串类型:

http://img.mukewang.com/climg/5e92fa4609cd045c08940096.jpg

赋值的时候无论是什么值,都会是字符串类型

http://img.mukewang.com/climg/5e92facb09ffdd6e03550147.jpg

http://img.mukewang.com/climg/5e92fadb09bf0bdf01770100.jpg

所以火狐浏览器中返回值是true,类型相等,IE浏览器中返回值是false,类型不相等。

测试的时候换一个变量即可,例如

http://img.mukewang.com/climg/5e92fb290928c30a04850253.jpg

http://img.mukewang.com/climg/5e92fb300990337f00670041.jpg

自己再测试理解下,祝学习愉快!

0

0 学习 · 40143 问题

查看课程