JavaScript对象基础讲解

除了字符串,数字,truefalsenull或者undefined以外,其他所有的值在JavaScript里头都是对象。


1. 字面量表示法:

对象字面量很好理解,使用key/value的形式直接创建对象,简洁方便。

var book = {};   //创建一个没有属性的对象

var book = {

  name : "The Definitive Guide",

  "main title" : "JavaScript",      //当属性名中间有空格,或者"-"时,要用引号把属性名括起来

  author : {                         //对象的属性也可以是对象

     firstname : "Rex",

     lastname : "Mai

   }

};

这种方式直接通过花括号将对象的属性包起来,使用key/value的方式创建对象属性,每个属性之间用逗号隔开。

注意:如果是最后一个属性,后面就不要加逗号,因为在一些旧的浏览器下会报错。

2. 使用new关键字:

var o = new Object(); // 创建一个空对象,效果等同{}.

var d = new Date(); // 创建一个表示当前时间的对象

var r = new RegExp("js"); // 创建一个正则表达式对象

 varperson = new Object();

 person.name = "狼狼的蓝胖子";

 person.age = 25;

或者

function Person(name, age) {

     this.name = name;

     this.age = age;

  this.show=function(){}

}

var person = new Person("Jack",15);

Person.show()

这种方式使用new关键字,接着跟上Object构造函数,再来给对象实例动态添加上不同的属性。



其实javascriptnew关键字只不过做了五件事情。

1.创建Object

2.查找classprototype上的所有方法、属性,复制一份给创建的Object(注意,如果prototype上有属性是function或者数组或者Object,那么只复制指针)

3.将构造函数classA内部的this指向创建的Object

4.创建的Object__proto__指向classprototype

5.执行构造函数class

// 定义类类名字是 classA

function classA(){

       this.b=1;//在里面是this

       this.query=function(){}

}

classA.prototype.b=44;//在外边是classA.prototype

classA.prototype.show = function(){

       alert(this.b);

};

// new实例化

var b = new classA();

b.show();



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值