对象(1)
一、什么是对象?
2、万物皆对象,除了数字,字符,布尔这种绝对值以外的所有部分都是对象,
对象是类的实例化体现,类是对象的抽象体现。
举例:
数字:
字符:

布尔值:

undefined:

null:

NAN:
undefined和null都没有对象,和别人都不相等,console.log(undefined==null);

3、对象是一个个体,他具备自身类的所有属性和方法。
4、我们曾经遇到过的对象:
var arr=new Array()
var date=new Date();
var obj=new Object();
二、
对象的新建,有以下几种方法:
1、var obj={a:1,b:2};
2、构造函数创建法var obj=new Object();
3、根据对象原型创建新的对象(以某个对象作为原型创建出新对象var obj1=Object.create(obj);
接下来对上面三个进行详解:
1、var obj={}
var obj={
属性:属性值,
方法:方法函数
}
花括号在语言中是指代码块的意思,在obj也相当于一个代码块。obj自身在使用中可以完成和丰富各种代码块。
在函数中,有时候需要返回一个对象,这时候,我们通常使用花括号的形式来返回对象
function abc(){
return {
属性:属性值,
方法:方法函数
}
}
2、var obj=new Object();
obj.属性=属性值
obj.方法=方法函数
obj[属性]=属性值
obj[方法]=方法函数
中括号中的属性和方法必须是字符串,如果是变量,该内容必须是字符型变量。
var arr=new Object([])
创建数组,在javascript中数组不是单独的类型,它是由对象扩展出来的,因此,可以使用这种形式来建立数组。
3、Object.create(proto, [ propertiesObject ])
proto对象原型
propertiesObject 一组属性和值,该参数对象不能是 undefined,
另外只有该对象中自身拥有的可枚举的属性才有效,也就是说该对象的原型链上属性是无效的。
该方法可以针对已知对象创建新对象也可以创建一个空对象。
三、原型链
原型链: obj.__proto__
原型:prototype
数组来源于对象
五、对象的方法
var obj={ a:1, // ES5的写法 b:function(){ console.log("aaa"); }, c(){ // ES6中新推出的方法的写法 console.log("ddd"); } } // obj.b(); var o3=Object.create(obj); // console.log(o3); o3.b=function(){ console.log("bbb"); } // o3.b(); // o3.c(); // console.log(o3);
浙公网安备 33010602011771号