1.新增数据类型Symbol。【Number、Boolean、Symbol、Null、Undefined、Object】

Symbol类型的值通过Symbol函数生成,相同的Symbol函数返回的值 是唯一的

Symbol函数可以接收字符串作为参数,但是即使相同参数返回的值 也是唯一的,即Symbol('a') != Symbol('a')

代码实例

    /*
    * Symbol
    * 传入相同的值,但他内部存储的值不相同
     */

    var s1=Symbol();
    var s2=Symbol();
    // console.log(typeof s1)
    console.log(s1, s2)
    var s3=Symbol('miaov');
    var s4=Symbol('miaov');
    console.log(s3, s4)
    console.log(s3==s4) // false
/************************************************************/
    var Preson =(function () {
        let _gender = Symbol('gender');  //属性私有化
        function P(name,gender) {
            this.name = name;
            this[_gender]=gender;
        }

        P.prototype.say = function () {
            console.log(this[_gender]) //
        }
        return P;
    })()
    var p1 = new Preson('张三','男');
    console.log(p1);  // {name: "张三", Symbol(gender): "男"}
    // console.log(p1[Symbol('gender')]) //undefined

 

2.let与const

let:

不支持变量声明预解析(先声明后使用)

支持块作用域

不允许重复声明

const:

不支持变量声明预解析(先声明后使用)

支持块作用域

不允许重复声明

常量(值一旦确定,不允许修改,所以必须初始化)

 

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        button.ac{
            background-color: #00a0e9;
        }
        p{
            display: none;
        }
        p.ac{
            display: block;
        }
    </style>
</head>
<body>
<button class="ac">按钮1</button>
<button>按钮2</button>
<button>按钮3</button>
<p class="ac">内容1</p>
<p>内容2</p>
<p>内容3</p>
<script>
    var buttons = document.querySelectorAll('button');
    var ps = document.querySelectorAll('p');

    //
    // for(var i=0;i<buttons.length;i++){
    //     buttons[i].index=i
    //     buttons[i].onclick=function () {
    //         for (var i=0;i<buttons.length;i++){
    //             buttons[i].className=''
    //             ps[i].className=''
    //         }
    //         this.className='ac'
    //         ps[this.index].className='ac'
    //     }
    // }
    
    for(let i=0;i<buttons.length;i++){
        buttons[i].onclick=function () {
            for(let i=0;i<buttons.length;i++){
                buttons[i].className=''
                ps[i].className=''
            }
            this.className='ac'
            ps[i].className='ac'
        }
    }
</script>
</body>
</html>
View Code

相关文章:

猜你喜欢
  • 2021-04-06
  • 2021-07-03
  • 2022-12-23
  • 2021-10-13
  • 2022-12-23
  • 2021-10-31
相关资源
相似解决方案