• getter与setter


     var obj = {
            get a() {
                return 2;
            },
            get c() {
                return 34
            }
        }
        Object.defineProperty(
            obj,
            'b',
            {
                get: function () {
                    return this.a * 2
    
                },
                enumerable: true
    
            }
        )
        console.log(obj);
        /*
        * a: 2
        * b: 4
        * c: 34
        * get a: ƒ a()
        * get b: ƒ ()
        * get c: ƒ c()
    
    
        //有set就得有get 不然会出现去怪问题
        var obj1 = {
            get a() {
                return this._a_;
            },//有点像初始化变量
            set a(val) {
                this._a_ = val + 4;
            }//类似于变量的赋值 如果没有set obj1.a为undefined 就算下面赋值也不行
        };
        obj1.a = 3;
        console.log(obj1.a)
    
        /*对象的属性操作符 是否可以枚举*/
        var obj2 = {name:'hxq'};
        Object.defineProperty(
            obj2,
            'a',
            {
                value:2,
                enumerable:true
            }
        )
        Object.defineProperty(
            obj2,
            'b',
            {
                value:3,
                enumerable:false
            }
        )
        console.log(obj2);
    
        /*for in 遍历下标*/
        for (let i in [1,1,1,3,232,3]){
            console.log(i)  //可以通过遍历下标来遍历值
        }
    //    for of 直接遍历值
        for  (let i of [21312,,1,31,3,123,1]){
            console.log(i)
        }
        /*for of 原理内置的@@iterator来手动遍历数组*/
        var arr=[12,231,32,32];
        var it=arr[Symbol.iterator]();
        console.log(it)
        console.log(it.next());//{value: 12, done: false}
        console.log(it.next());//{value: 231, done: false}
        console.log(it.next());//{value: 32, done: false}
        console.log(it.next());//{value: 32, done: false}
        console.log(it.next());//{value: undefin, done: true}
  • 相关阅读:
    Mac 安装 Python3
    在push的时候发生崩溃信息
    Swift3.0 和 Swift3.0.2的区别
    01- 简单值
    @objc || private || 按钮的点击事件
    extension的作用
    swift3.0中使用代码添加选中图片
    OC-创建瀑布流
    springboot项目控制台日志不是彩色的原因
    更改docker里mysql的字符编码
  • 原文地址:https://www.cnblogs.com/aqigogogo/p/7568852.html
Copyright © 2020-2023  润新知