ES5对象

1. js有两种类型的对象

原生的(Native)包括:内置对象(日期Date,数组Array等)、用户自定义对象(var o = {})
对象
主机的(Host)包括:windows和DOM对象

2. ECMAScript5 特性

增加了一些新的内置对象、方法和属性,增加了strict模式

3. 自定义构造函数

当我们使用new操作符调用构造函数时发生的事情如下:
1.隐式的创建一个新的空的对象,让this指向这个对象,同时还继承了该函数的原型
2.给this指向的对象添加属性和方法
3.隐式的返回this指向的对象

var Person = function (name) {
	//使用字面量模式创建一个对象
	//var this = {}
	
	//向this添加属性和方法
	this.name = name;
	this.sayHi = function () {
		console.log("Hello, I am" + this.name);
	};

	//return this;
}

上例中可重用的方法(sayHi)在每次调用new Person()时都在内存中创建一个新的函数,效率低下。更好的方法是将他添加到Person的原型中。

Person.prototype.sayHi = function () {
	console.log("Hello, I am" + this.name);
}

4. 空对象属性不为空,它从原型对象中继承了属性

5. 调用构造函数时忘记加new

会导致构造函数中的this指向全局对象。如果构造函数中有this.name = ' '这种表示方法,他会成为全局属性

6. new Array()

通过new Array()创建数组时,传入的第一参数如果是数字的话会被认为是数组的长度。检测数组对象的方法Array.isArray()constructor。如:Array.isArray([]); //true[].constructor === Array; //true

7.基本值类型包装器

string/number/boolean/null/defined

var str1 = '1234';
var str2 = new String('1234');

typeof str1;	//'string'
typeof str2;	//'object'
typeof String(new String('1234'))	//'string'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值