js

 、通过对象字面量的形式创建对象。 
        可以将属性名括在引号之间,这三种方式一样:
       var obj={x:1};    
       var obj={'x'=1};      
       var obj={"x"=1};
  例: var obj={ };       //没有任何属性的对象
      // alert(typeof obj);  
       var obj1={x:1,y:2,z:3}; 
       var obj2={
          'x':1,
         “y”:2,
         username:'king',
         'for':'Javascript关键词必须放到引号之间'
          person:{         //对象里面依然可以放对象
           username:'king',
           name:12;
            addr:北京"
          }
    }
  二、通过new Object()创建对象。首字母大写 21      var obj3=new Object();       //创建一个空对象()
       var  arr=new Array();        //空数组,()
       var date=new Date();         //日期时间对象
       var reg=new RegExp('js');    //创建正则对象()
  三、通过构造函数的形式创建对象。首字母大写
     function Test(){
     }
  例: var obj4=new Test();
     function Test1(num1,num2){
       this.n1=num1;
       this.n2=num2;
     }
     var Obj5=new Test(5,6);
     //alert(typeof obj5);                // 弹出 object
      //alert(obj5 inatanceof Test1);      // obj5是否是Test1构建的对象   结果为 true 或  false
  四、通过Object.create()创建对象       等同字面量
    var obj6 = Object.create({x:1}); 
     var obj7 = Object.create(null); 
  二、1.查询属性
    字面量形式创建属性
    var person={
      king:'king',
      username:'king',
      username:"king",
      sex:""
      salary:1234.4
      sex:‘男’
    };      
   //查询属性
    console.log('用户名:'+person.username+' '+'姓名:'+person.sex);    // 输出 用户名:king  换行  姓名:男
    console.log('薪水:'+person['salary']+'n'+'地址:'+person['addr']);
    // 以上 . 点和中括号[ ] 两种方法都可以
  2.如果属性不确定需要使用[ ]
    var key='username';
    console.log(person.key);
   console.log(person.[key]);
  如果1.字面量中忘记定义某一个东西,忘记在哪里写,通过var key=‘king’打印 出来。
   构建函数{ }里面必须带引号
  例:function PersonInfo('king', 34,''){
      this.name=name;
     this.age=age;
    
   var person1= new PersonInfo('king',34,'');
    //console.log(person1.name+person( ['sex'] );    //输出king男
  3.添加属性
    var obj=();       //空对象    .点和[ ]都可以实现
    obj.username='king';
    obj.age=2;
    obj['test']='this is a test';
    console.log(obj.username+' '+obj.age+obj['test']);
 4.修改指定属性
    obj.username='queen';
    obj.['test']='emt';
    console.log(‘修改之后的名字+obj.username’);    //输出queen
    console.log(obj [' test' ] );  //输出ymt
 5.通过delete删除指定属性
    delete obj.test;  或   delete obj [ 'test' ] ;
    console.log(obj['test']);  //undefidend
 6.通过 for / in 遍历属性
  例:var obj1={
      x:1;
      test:'this is a test';
      adu:'emt'
    }
     for(var p in obj1){          // 定义一个变量p,在p里面打印obj1里面所有的属性
      console.log(p+' ');
    }                            // 输出 x  换行  test   换行   adu 
7.对象中有方法
  例:var obj2{
      username=‘king’;
      age=24;
      sayhi:function(){
        return 'say hi'
      },
      info:funtion(){
        return '用户名:'+this.username+' '+'年龄:'+ this.age ;
      }
    };
   console.log(obj2.say hi());    //输出 say hi
   console.log(obj2.info());      //输出 用户名:king 换行  年龄:24
   console.log(info);             //以属性的方法读,会把整个函数打出来,函数没执行
 例:function Person(username,age,sex,addr){
     this.username=username;
     this.age=age;
     this.sex=sex;
     this.info=function(){
     return this.username+this.sex;
     }
   }       // 构造函数属性function 继承给实例对象 p1
   var p1=new Person('queen',34, 女);     //创造一个实例
   console.log(p1.info)        //queen 34
   p1.test='test is a test';
   console.log(p1.test);     //test is a test         

原文地址:https://www.cnblogs.com/sunwk/p/8926506.html