1.什么是对象
* 程序中的对象是对现实生活中的对象。
* js中的对象是无序属性的集合。
* 具有属性和方法。
* 函数和对象的区别
-
函数: 可以封装一段代码。
-
对象: 封装一组属性和方法。
* 访问对象属性 对象.属性名。方法名[‘属性名’]。
* 访问对象方法 对象.方法。
* 对象的创建方法:
-
Var 对象名 = {
}
-
var 对象名 = new Object();创建一个空对象
new Object 调用构造函数。
可以动态增加属性和方法。
当前方法中使用属性,需要this.指向当前对象。
-
工厂方法
function creat对象名(方法,属性){
var 对象名 = new Object();
对象名.方法 = function(){
};
对象名.属性 = 属性;
renturn 对象名;
}
-
自定义构造函数 (帕斯卡命名法:第一个单词大写,后续的 每一个单词第一个都大写)
function 方法名(方法,属性){
this.方法 = function(){}
this.属性 = 属性;
}
* new 的执行过程
在内存中创建一个空的对象。
-
让构造函数中的this指向当前的对象。
-
执行构造函数,在构造函数中设置属性和方法。
-
返回当前的对象。
* this 出现在的位置
1 函数中 -- this指向window 窗口。 2 方法中 -- this指向这个方法所属的对象。 3 构造函数 -- this指向构造函数所创建的对象。 4 事件处理函数中 -- this指向事件源。 5 当一个函数用apply、call调用的时候,this就是你指定的第一个参数 6 当一个函数用定时器调用的时候,this就是window 7 当一个函数绑定给一个HTML元素事件的时候,this就是这个HTML元素
* 打印对象
-
for in 可以遍历对象的成员
for (var key in 对象){ key :属性名
obj[key];打印每个属性;
}
* 删除对象的属性
-
delete 对象名.属性或方法。