1、对象的分类

a) 内置对象
包括数组、日期、正则表达式等,这些有对应的内部类。提供了很多方法供我们使用。
b) 宿主对象
主要指DOM对象,由浏览器实现。不同的浏览器,可能不一样。
无需创建,可以直接使用。
c) 自定义对象

2、对象的属性(方法)

a) 自有属性
b) 继承属性

3、对象的创建

var obj={}; //隐式创建
var obj=new Object();

4、对象的结构

{属性名1:属性值,属性名2:属性值}

5、对象属性的定义和访问

  1. a) var obj = { x : 1, y : 2 }; //初始化的时候就定义属性
  2. b) obj.x //这里必须写死在代码中
  3. c) obj["x"] //这里是一个字符串 可以拼接 动态生成
  4. d) 对象的属性可以随时创建,并且前面不能加var关键字

6、对象方法的定义和调用

  1. obj.test = function(a,b){
  2. alert(100);
  3. };
  4. obj.test(1,2);
  1. var person = {
  2. fullName: function () {
  3. return this.firstName + " " + this.lastName; //这里的this代码call括号里的对象
  4. }
  5. }
  6. var person2 = {
  7. firstName: "Mary",
  8. lastName: "Doe",
  9. }
  10. // call将函数传给另一个对象
  11. res = person.fullName.call(person2);
  12. 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) 全局对象的特点
顶层代码中定义的所有变量,都是全局对象的属性
顶层代码中定义的所有函数,都是全局对象的方法
全局对象调用它的属性和方法时,可以省略对象名称

  1. var a = 5;
  2. alert(window.a);
  3. function test(){
  4. alert(666);
  5. }
  6. window.test();

c) navigator 对象
navigator 是window下的一个属性,也是一个对象,该对象包含有关浏览器的信息。