Vue底层核心

vue框架的底层核心语法

如下代码:

因为上边Object.defineProperty选定的obj,"a"  意为对obj对象中的a操作

writtable:true/false   为false时 "a"设置a不可被设置  打印obj.a时显示为value设置的字符

enumerable:true/false   意为是否可枚举(for in) a是可以被遍历的成员

configurable:true/false 意为是否可删掉/改变符号的属性  true表示可以

            var obj={}
            Object.defineProperty(obj,"a",{
            value:"默认值",
            writable:true,//false设置a不可设置
            enumerable:false,//是否可枚举(遍历var in)  a是可以被遍历成员
            configurable:true, //为true可以删掉 可以改变符号属性

Object对属性的描述:

由Object.defineProperty变成了Object.create且只需要写上对象名字不需要写特定成员名

需要写一个名称将属性值括起来这里是life 可以将属性描述赋值给一个对象这里是f1   此对象的值是life:value

Object.create作用的对象会被创建进f1的原型

Object.getOwnPropertyDescriptor(f1,"life")  此命令获取life对Object的描述

        var obj = {
            name: "karen"
        }
        var f1 = Object.create(obj, {
            life: {
                value: 100, //值100
                writable: false, //false设置a不可设置
                enumerable: false, //是否可枚举(遍历var in)  a是可以被遍历成员
                configurable: true, //为true可以删掉 可以改变符号属性
            }
        }) //把obj创建进原型对象  life是对Object进行描述
        console.log(f1);

        var re=Object.getOwnPropertyDescriptor(f1,"life")//获得属性描述
        console.log(re);

re=Object.preventExtensions(obj1)复制obj1的内容并赋值给re

re此后不能添加成员 不能操作

        var obj1={hqyj:100,niuwa:200}
        var re=Object.preventExtensions(obj1)//把obj1的成员添加给re
        console.log(re,re==obj1);
        re.a=100//re 不能被添加新成员 不能操作
        console.log(re);

ar re=Object.seal(obj2)//给obj2所有属性设置不可删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值