1、对象的分类
a) 内置对象
包括数组、日期、正则表达式等,这些有对应的内部类。提供了很多方法供我们使用。
b) 宿主对象
主要指DOM对象,由浏览器实现。不同的浏览器,可能不一样。
无需创建,可以直接使用。
c) 自定义对象
2、对象的属性(方法)
a) 自有属性
b) 继承属性
3、对象的创建
var obj={}; //隐式创建
var obj=new Object();
4、对象的结构
5、对象属性的定义和访问
a) var obj = { x : 1, y : 2 }; //初始化的时候就定义属性
b) obj.x //这里必须写死在代码中
c) obj["x"] //这里是一个字符串 可以拼接 动态生成
d) 对象的属性可以随时创建,并且前面不能加var关键字
6、对象方法的定义和调用
obj.test = function(a,b){
alert(100);
};
obj.test(1,2);
var person = {
fullName: function () {
return this.firstName + " " + this.lastName; //这里的this代码call括号里的对象
}
}
var person2 = {
firstName: "Mary",
lastName: "Doe",
}
// call将函数传给另一个对象
res = person.fullName.call(person2);
console.log(res) // "Mary Doe"
7、序列化对象(JSON)
JSON.stringify() //对象转字符串
JSON.parse() //字符串解析成对象
9、对象属性遍历(for…in)
10、window对象和navigator对象
a) 全局对象概念
当JS以浏览器为运行环境的时候,window是它的全局对象,可以用this引用。
当JS以调试器为运行环境的时候,也有全局对象,但不叫window,也可以用this引用。
b) 全局对象的特点
顶层代码中定义的所有变量,都是全局对象的属性
顶层代码中定义的所有函数,都是全局对象的方法
全局对象调用它的属性和方法时,可以省略对象名称
var a = 5;
alert(window.a);
function test(){
alert(666);
}
window.test();
c) navigator 对象
navigator 是window下的一个属性,也是一个对象,该对象包含有关浏览器的信息。