zoukankan      html  css  js  c++  java
  • javascript对象的标签

    [[proto]]标签


    [[class]]标签


    [[class]] 标签,代表这对象是哪个类型的。在js中不能直接访问到。可以通过Object.prototype.toString.call(obj)间接获取对象的类型

    Object.prototype.toString.call(1).slice(8,-1);   //"Number"
    
    Object.prototype.toString.call("1").slice(8,-1);  //"String"
    
    Object.prototype.toString.call(new Object()).slice(8,-1);  //Object
    
    Object.prototype.toString.call(new Array).slice(8,-1);  //Array
    
    Object.prototype.toString.call(null).slice(8,-1);  //null
    
    Object.prototype.toString.call(undefined).slice(8,-1);  //"Undefined"
    
    Object.prototype.toString.call(true).slice(8,-1); //"Boolean"

    [[extensible]]标签


    [[extensible]] 标签对象上的属性,是否可以被继续添加

    var obj = {x:1,y:2}
    
    Object.isExtensible(obj)  //true  是否可以扩展
    
    Object.preventExtensions(obj)  //阻止扩展
    
    obj.z = 90   
    
    obj   //Object {x: 1, y: 2}
    
    obj.z   //undefined
    
    Object.seal(obj);  //将对象上所有的属性 变成 不可配置
    
    Object.getOwnPropertyDescriptor(obj,'y')  //Object {value: 2, writable: true, enumerable: true, configurable: false}
    
    Object.getOwnPropertyDescriptor(obj,'x')  //Object {value: 1, writable: true, enumerable: true, configurable: false}
    
    Object.isSealed(obj);  //true
    
    
    var o = {x:1,y:2};
    
    Object.freeze(o);  、//将对象上所有属性 变为不可写,不可配置
    
    Object.isFrozen(o)   //true
    
    Object.getOwnPropertyDescriptor(o,'x')   //Object {value: 1, writable: false, enumerable: true, configurable: false}
    
    Object.getOwnPropertyDescriptor(o,'y')   //Object {value: 2, writable: false, enumerable: true, configurable: false}
  • 相关阅读:
    高效沟通
    Oracle播放多条 INSERT ALL
    oracle的同义词总结
    Brute force Attack
    爱因斯坦方程与小黑洞
    dom 编程(html和xml)
    dexposed框架Android在线热修复
    从微软小冰看微软运营手段的转型
    剑指offer_面试题_从上往下打印二叉树
    外面的wifi非常精彩,外面的wifi非常不安
  • 原文地址:https://www.cnblogs.com/dsitn/p/7074338.html
Copyright © 2011-2022 走看看