JavaScript对象

JavaScript对象是基本数据类型之一,是复合类型 Object 。

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。

JavaScript创建对象的四种方式及如何添加,修改,删除,for...in遍历属性

  1 、通过对象字面量的形式创建对象。 
  2      可以将属性名括在引号之间,这三种方式一样:
  3      var obj={x:1};    
  4      var obj={'x'=1};      
  5      var obj={"x"=1};
  6 例: var obj={ };       //没有任何属性的对象
  7     // alert(typeof obj);  
  8      var obj1={x:1,y:2,z:3}; 
  9      var obj2={
 10         'x':1,
 11         “y”:2,
 12         username:'king',
 13         'for':'Javascript关键词必须放到引号之间' 14         person:{         //对象里面依然可以放对象
 15           username:'king',
 16           name:12;
 17           addr:北京"
 18          }
 19     }
 20 二、通过new Object()创建对象。首字母大写
 21      var obj3=new Object();       //创建一个空对象()
 22      var  arr=new Array();        //空数组,()
 23      var date=new Date();         //日期时间对象
 24      var reg=new RegExp('js');    //创建正则对象()
 25 三、通过构造函数的形式创建对象。首字母大写
 26    function Test(){
 27    }
 28 例: var obj4=new Test();
 29    function Test1(num1,num2){
 30       this.n1=num1;
 31      this.n2=num2;
 32    }
 33    var Obj5=new Test(5,6);
 34    //alert(typeof obj5);                // 弹出 object
 35     //alert(obj5 inatanceof Test1);      // obj5是否是Test1构建的对象   结果为 true 或  false
 36 四、通过Object.create()创建对象       等同字面量
 37   var obj6 = Object.create({x:1}); 
 38    var obj7 = Object.create(null); 
 39 二、1.查询属性
 40   字面量形式创建属性
 41   var person={
 42     king:'king',
 43     username:'king',
 44     username:"king",
 45     sex:"" 46     salary:1234.4 47     sex:‘男’
 48   };      
 49   //查询属性
 50   console.log('用户名:'+person.username+'
'+'姓名:'+person.sex);    // 输出 用户名:king  换行  姓名:男
 52   console.log('薪水:'+person['salary']+'n'+'地址:'+person['addr']);
 53   // 以上 . 点和中括号[ ] 两种方法都可以
 54 2.如果属性不确定需要使用[ ]
 55   var key='username';
 56   console.log(person.key);
 57   console.log(person.[key]);
 58 如果1.字面量中忘记定义某一个东西,忘记在哪里写,通过var key=‘king’打印 出来。
 59  构建函数{ }里面必须带引号
 60 例:function PersonInfo('king', 34,''){
 61     this.name=name;
 62     this.age=age;
 63   } 
 64   var person1= new PersonInfo('king',34,'');
 65   //console.log(person1.name+person( ['sex'] );    //输出king男
 66 3.添加属性
 67   var obj=();       //空对象    .点和[ ]都可以实现
 68   obj.username='king';
 69   obj.age=2;
 70   obj['test']='this is a test';
 71   console.log(obj.username+'
'+obj.age+obj['test']);
 724.修改指定属性
 73   obj.username='queen';
 74   obj.['test']='emt';
 75   console.log(‘修改之后的名字+obj.username’);    //输出queen
 76   console.log(obj [' test' ] );  //输出ymt
 775.通过delete删除指定属性
 78   delete obj.test;  或   delete obj [ 'test' ] ;
 79   console.log(obj['test']);  //undefidend
 806.通过 for / in 遍历属性
 81 例:var obj1={
 82     x:1;
 83     test:'this is a test';
 84     adu:'emt'
 85   }
 86    for(var p in obj1){          // 定义一个变量p,在p里面打印obj1里面所有的属性
 87     console.log(p+'
');
 88   }                            // 输出 x  换行  test   换行   adu 
 897.对象中有方法
 90 例:var obj2{
 91     username=‘king’;
 92     age=24;
 93     sayhi:function(){
 94       return 'say hi'
 95     },
 96     info:funtion(){
 97       return '用户名:'+this.username+'
'+'年龄:'+ this.age ;
 98     }
 99   };
100   console.log(obj2.say hi());    //输出 say hi
101   console.log(obj2.info());      //输出 用户名:king 换行  年龄:24
102   console.log(info);             //以属性的方法读,会把整个函数打出来,函数没执行
103 例:function Person(username,age,sex,addr){
104     this.username=username;
105     this.age=age;
106     this.sex=sex;
107     this.info=function(){
108     return this.username+this.sex;
109     }
110   }       // 构造函数属性function 继承给实例对象 p1
111   var p1=new Person('queen',34, 女);     //创造一个实例
112   console.log(p1.info)        //queen 34
113   p1.test='test is a test';
114   console.log(p1.test);     //test is a test               

 

 

原文地址:https://www.cnblogs.com/wuli-cxr/p/8809036.html