个人笔记2020 6-10

JS中4个描述行为的键值

1.value 表示与属性有关的值

示例如下:

<script type="text/javascript">
        var obj={}
        Object.defineProperty(obj,'x',{
            value:100

        });
        document.write(obj.x)
    </script>

在这里插入图片描述

2.writable表示是否可改变值,默认为false

默认情况如下:

<script type="text/javascript">
        var obj={}
        Object.defineProperty(obj,'x',{
            value:100

        });
        document.write(obj.x+'<br/>')
        obj.x=123;
        document.write(obj.x)
    </script>

在这里插入图片描述
此时writable值默认为false,所以x没有被更改,
若在上述代码中加入writable:true
则效果如图:
在这里插入图片描述

3.enumerable表示是否可枚举,默认为false

代码及效果如下:

<script type="text/javascript">
        var obj={}
        Object.defineProperty(obj,'x',{
            value:100,
            writable:true,
            enumerable:true,
        });
       for(p in obj){
           document.write(p)
       }//for-in 用来枚举元素
    </script>

在这里插入图片描述
将上述代码中enumerable:true改为enumerable:false后得:
在这里插入图片描述

4.configurable表示是否可配置(配置包括删除属性值或改变writable、enumerable的值),默认为false

若为默认值,则:

<script type="text/javascript">
        var obj={}
        Object.defineProperty(obj,'x',{
            value:'this is a test',
            writable:true,
            enumerable:true,
            configurable:false,
        });
        obj.x='hhha'
        document.write(obj.x+'<br/>');
        delete obj.x;
        document.write(obj.x);
    </script>

在这里插入图片描述
将configurable:false改为configurable:true得:
在这里插入图片描述
若configurable的值为true还表示能更改writable、enumerable的值,代码如下:

<script type="text/javascript">
        var obj={}
        Object.defineProperty(obj,'x',{
            value:'this is a test',
            writable:true,
            enumerable:true,
            configurable:true,
        });
        Object.defineProperty(obj,'x',{
            writable:false,
        });
        obj.x='hhha'
        document.write(obj.x+'<br/>');
        
    </script>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值