JavaScript对象的创建方式

对象的创建方式

1.利用字面量创建对象 {}

 var obj={};//创建了一个空的对象
         var obj={
             uname:"张三疯",
             age:18,
             sex:"男",
             sayHi: function(){
                 console.log("hi~");
             }
         }

(1)里面的属性或者方法我们采取赋值对的形式 键 属性名: 值 属性值

(2)多个属性或者方法中间用逗号隔开

(3)方法冒号后面跟的是一个匿名函数

如何使用对象?

(1)调用对象的属性  我们采取 对象名.属性名   我们理解为 的

  console.log(obj.uname);
        

(2)调用属性还有一种方法 对象名["属性名"]

console.log(obj["age"]);

(3)调用对象的方法 sayHi 对象名.方法名()   千万别忘记加小括号

 obj.sayHi();
var keke={
      name:"keke",
      age:5,
      type:"alasj",
      color:"red",
      jiNeng: function(){
          console.log("bark");
          console.log("showFilm");
      }
  }

// 调用
console.log(keke.name);
console.log(keke["age"]);
keke.jiNeng();

2.利用new object 创建对象

 var obj = new Object();//创建一个空的对象
         obj.uname="张三疯";
         obj.age=18;
         obj.sex="男";
         obj.sayHi=function(){
           console.log("hi~");
     }

  console.log(obj.uname);
  console.log(obj["sex"]);
   obj.sayHi();

(1)我们是利用 等号=赋值的方法  添加对象的属性和方法

(2)每一个属性和方法之间用 分号结束

3.利用构造函数创建对象

(1)为什么需要构造函数创建对象?

 就是因我们前面两种创建对象的方式一次只能创建一个对象

 var ldh ={
            uname:"刘德华",
            age:55,
            sing:function(){
                console.log("冰雨");
            }

           }

           var zxy={
               uname:"张学友",
               age:58,
               sing:function(){
                   console.log("李香兰");
               }
                
            }

因为我们一次创建一个对象 里面很多属性和方法是大量相同的  我们只能赋复制

 因此我们可以利用函数的方法 重复这些相同的代码 我们就把这个函数称为构造函数

又因为这个函数不一样,里面封装的不是普通代码 而是对象

构造函数 就是把我们对象里面一些相同的属性和方法抽象出来封装到函数里面

(2)构造函数创建对象方法

 function 构造函数名(){

  this.属性=值;

  this.方法=function(){}

 }

new 构造函数名();

function Star(uname,age,sex){

    this.name=uname;
    this.age=age;
    this.sex=sex;
    this.sing=function(sang){
        console.log(sang);
    }

}
var ldh=new Star("刘德华",18,"男");
console.log(ldh.name);
console.log(ldh.sex);
ldh.sing("冰雨");


var zxy=new Star("张学友",19,"男");
console.log(zxy.name);
console.log(zxy.age);

注意:①.构造函数名字首字母大写

           ②构造函数不需要return 就可以返回结果

           ③我们调用构造函数  必须使用new

          ④我们只要new Stra()  调用函数就创建一个对象 ldh();

           ⑤我们的属性和方法前面必须添加 this

构造函数和对象的区别:

①构造函数   泛指某一大类  

 ②对象 是一个具体的事物

③我们利用构造函数创建对象的过程我们也称之为对象的实例化

   

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值