zoukankan      html  css  js  c++  java
  • 《JavaScript权威指南》学习笔记 第一天。

    这是零零散散的笔记,作为自己看书打demo的笔记。不足为各位学习,留作自己复习知识点备用。


    1、检测对象中某个属性存在不存在:

     1 <script>
     2     // in 运算符
     3     //不管是对象的自有属性还是继承来的属性,都会返回true。
     4     var obj = {a:1,b:2,c:3};
     5     var isExist  = 'a' in obj;
     6     console.dir(obj);
     7     if(isExist){
     8         alert('a 在obj 这个对象里面');
     9     }
    10     
    11     
    12     
    13     // hasOwnProperty()
    14     //顾名思义,OwnProperty表示只有是对象的自有属性才会返回true
    15     //继承的属性则会返回false
    16     if(obj.hasOwnProperty('c')){
    17         alert('hasOwnPropery');
    18     }
    19     
    20     
    21     
    22 </script>

    2、什么是枚举属性。

    Js里面的枚举就是指的遍历。起这么一个专业的名字,真是忽悠到我了。google上down一张图说明一下。

    所谓的枚举,就是依次的拨梳子齿。从第一个齿到最后一个齿。

    在上面说过js的对象有原型,通过new创建的对象都会继承原型。那么其中就有一些隐藏的属性或者函数是不能被枚举到的。

    ECMAScript 5中的第二个枚举属性的函数是Object.getOwnPropertyNames();

    还有一个枚举函数名字叫Object.keys();

    getOwnPropertyNames()会返回对象中所有的自由属性。而keys()会把所有的属性即继承的属性和私有的属性一块返回来。

    3、属性的特征。

    对象中的一个属性包括一个名字和四个特征。数据属性的四个特征分别是:值(value),可写性(writable)、可枚举性(enumerable)、可配置性(configurable)英 [ kən'fɪgərəbl ]结构的,可配置的.

    存取器属性不具有值特征和可写性。他们的可写性是有setter方法的存在与否决定的。因此存取器属性的4个特征是读取(get) 写入(set) 可枚举性、可配置型。

    使用Object.getOwnPropertyDescriptor()可以获得某个对象特定属性的属性描述符。

    这个getOwnPropertyDescriptor()只能获得自有属性的属性描述符。要想获得继承属性的特征,需要遍历原型链Object.getPrototypeOf()

    如果要设置属性的特征,或者想让新建属性具有某个特征,可以使用Object.defineProperty(对象,值,属性特征);

    批量修改属性的特征,则要使用Object.defineProperties(对象,{{}})

  • 相关阅读:
    跨域是什么
    【剑指offer】05-替换空格
    【剑指offer】04-二维数组中的查找
    【剑指offer】03-变态跳台阶
    【剑指offer】02-青蛙跳台阶
    【剑指offer】01-斐波那契数列
    python面向对象-类和实例
    LibreOffice字体问题解决;从window复制到Ubuntu
    Far manager界面混乱问题解决
    Ubuntu-18.04.2-几个启动错误解决办法
  • 原文地址:https://www.cnblogs.com/roverliang/p/4973086.html
Copyright © 2011-2022 走看看