关于JS中使用name作为变量名出现的问题

今天学习JS变量时学到JS中的变量可以通过赋值更改数据类型,但当用name作为变量变量名时会出现问题
见示例

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>test</title>
    <script>
        var name = 18;
        console.log(typeof name);
        var name = "hello";
        console.log(typeof name);
        var names = 18;
        console.log(typeof names);
        var names = "hello";
        console.log(typeof names);
    </script>
</head>
<body>
</body>
</html>

输出结果
关于JS中使用name作为变量名出现的问题
name命名的变量输出都为string,而以names命名的输出正常。

总结

name虽然不是关键字也不是保留字,但它是属性,不能作为变量名,类似的有toplocationself,但leftbottom却可以,原因是这些变量名是JS的主机变量,永远不能被重新声明参考在这里

关于JS中使用name作为变量名出现的问题

上一篇:读《大型网站技术架构》的一些总结(2)-获得高可用性


下一篇:严格的JSON格式