日期:2014-05-16  浏览次数:20310 次

JS 应该知道的几个概念

#1.
a. obj.hasOwnProperty(name):是用来判断一个对象是否某(name)属性或对象
b. isFinite(x) 函数用于检查其参数是否是无穷大
c. typeof obj === 'string'/'object'/'function'  判断
#2.
对象的继承
a.obj.apply(target,[参数数组]);
b.obj.apply(target,参数,参数...);
两者在参数上有区别的
apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。

call: func.call(func1,var1,var2,var3)
apply:func.apply(func1,[var1,var2,var3])

#3
constructor:对创建对象的函数的引用(指针)
prototype:  对该对象的对象原型的引用
阅读:http://www.cnblogs.com/phpmix/articles/1734031.html

#4
a:浅复制(浅克隆): 浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。
b:深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。

#5
创建一个对象/实例
a. var obj= {};
b. var obj = function(config){};
c. function obj(config){};
d. var obj = new Object();