最佳实践
- 尽量使用点号访问对象方法和属性,少用带引号的属性标识
- 构造函数首字母大写,以便区分普通函数
创建Object方法
var o = {};var o = new Object();o.constructor返回构造函数的引用o.toString返回对象的描述字符串0.valueOf返回对象的单值描述信息,通常是对象本身o.valueOf() === 0为true
- 很常用的对象文本标识法
由内建函数Object()创建
- 构造函数法
比对象文本标识法好处,可以在创建对象时接收一些参数
|
|
构造函数
- 用
new创建对象 - 构造器属性
constructor property - 创建对象时,同时也给它个特殊属性–构造器属性
构造器属性是引用一个函数,可以用来创建另一个对象 instanceof操作符
判断一个对象是否由某构造函数所创建- 比较对象,只有引用一样才
==为true

全局对象 window
- 即为
widow对象
|
|

由于没有用new操作符,这个函数调用与其他函数没区别,p1是 函数的返回值undefined;此时this调用的是全局对象
Array
用来构建数组的内建构造器函数,数组文本标识法var a = [];
拥有length属性

Function
尽量避免用这个构造函数
prototype属性- 每个函数
prototype属性都指向一个对象 - 只有在构造器函数才返回作用
- 构造函数创建的对象都有这样的属性的引用, 可以把它当自己属性使用
- 每个函数
toString()可以用来区分本地方法和自定义方法

####call() 与 apply() ####
每个函数都有这两个方法
–可以用它触发函数
–让一个对象借用另一对象的方法
|
|
arguments对象
类似数组的对象,也有索引元素和length属性,但无数组的一些方法
|
|

区分arguments对象,数组, 对象, DOM对象
借用Object 的toString,由于数组的被重写了