zoukankan      html  css  js  c++  java
  • JavaScript-Object基础知识

    1.   定义:对象是JS的核心概念,也是最重要的数据类型。js的所有数据都可以被视为对象。
                    对象是一种无序的数据集合,由若干个键值对(key:value)构成,由{ }包裹;
     
    2.写法:var  obj={  
                        属性名:属性值,
                        属性名:属性值,
                        属性名:属性值        最后一个键值不建议添加逗号(ie8不兼容);
                         };
     
                A、对象的所有键名都是字符串,所以在书写时加不加引号都可以。
                B、键名又称“属性”(property),它的键值可以是任何数据类型。
                C、如果一个属性的值为函数,通常把这个属称成为“方法”,它可以像函数那样调用。
     
    注意:(1)键名要符合标识符命名规范;
               (2)如果不符合要加“  ”;
               (3)键名可以是数值,它会自动被转换为字符串;
               (4)键名可以是js的关键字(保留字),但不推荐使用;
     
    3.创建object的方法:
        (1)字面量方法定义:var obj={ };
        (2)构造函数创建:var  obj=new Object( ) ;
        (3)基于原型(继承方式):  var obj=Object.Creat( null ) ; (不常用)    
     
    4.读写属性
     
        (1)读取属性:A、 点运算符------对象名 .  属性名;
                                   B、 方括号输出-------对象名[ '属性名' ]  ;
                注意:(1)数字键名不可以用点运算符来读取(因为会被当做小数点),
                           (2)数字键只能使用方括号运算符读取,可以不加引号(因为会自动被转换为字符串处理)。
                           (3)方括号里的属性名一定要加引号(数字键随意);
     
        (2)写入属性(赋值):    A、点属性写入        obj.属性名=属性值;
                (无序)                    B、[    ]形式写入        obj[  '属性名' ]=属性值  ;
                 js允许属性的‘属性的后绑定’,可以动态创建;
     
    5.查看所有的属性: Object . keys(obj)    返回值为对象中全部的属性名,结果是属性名组成的数组集合;
     
    6.删除属性:        delete  obj . 属性名        删除成功返回值为true,否则返回false;
                                删除后再去查看该属性,返回值为undefined;
                                删除一个不存在的属性,不会报错,返回值为true;
                                delete命令只能删除对象本身的属性。可以用hasOwnProperty来判断一下是否是对象本身的属性。
     
    7.对象引用:  不同变量名指向同一个对象(引用同一个对象),修改其中一个变量,会影响到其它所有的变量;
    var  o1 = {},
    o2 = {name:123}
    o1 = o2;
    o1.name; // 123
    o2.name = 456;
    o1.name; // 456
    8.in 运算符:用于检测对象是否包含某个属性(键名);
                 属性名 in obj  ("name" in p) 包含返回值为true,否则返回false;
     
    9.for…in (无序的):遍历一个对象的所有属性,返回----属性值;
    for( var i in p){
        console.log(p[i]);
    };
    
    
    
    
    
    
    10.with :操作同一个对象的多个属性,减少代码量,避免重复书写(写法类似于while);
       with(object){
          属性名=属性值;    with语句块,所有赋值后的语句后面要加分号;
    
    
         name = 1000;
    age = 3;
    
    
        }
         注意:(1)查看object.name ,返回值为undefined;
               (2)with区块对name操作,等于创建了一个全局变量name,该属性不属于对象
    ;可以先定义object的属性name,然后在with区块内操作它;
               (3)可以为对象的属性进行再赋值,覆盖掉原来的属性值;
     
    <-----------学习笔记,谢谢指正!----------->
  • 相关阅读:
    Maven学习总结(9)——使用Nexus搭建Maven私服
    Maven学习总结(8)——使用Maven构建多模块项目
    Maven学习总结(8)——使用Maven构建多模块项目
    Maven学习总结(8)——使用Maven构建多模块项目
    Maven学习总结(7)——eclipse中使用Maven创建Web项目
    Maven学习总结(7)——eclipse中使用Maven创建Web项目
    Maven学习总结(7)——eclipse中使用Maven创建Web项目
    Maven学习总结(6)——Maven与Eclipse整合
    Maven学习总结(6)——Maven与Eclipse整合
    nmon
  • 原文地址:https://www.cnblogs.com/AinyTong/p/6192614.html
Copyright © 2011-2022 走看看