文章目录

//给对象添加方法、扩展类型功能
Function.prototype.Method = function(name,func){
if(! this.prototype[name]){
this.prototype[name] = func;
}
return this;
}

//闭包:可以访问它被创建时所处的上下文环境
var cloSuer = (function (){
var i = 1;
return {
geti: function (){
return i;
}
}
}());

/判断一个对象是否是数组,.applay()与.call()的区别:call()方法接受的是一个参数列表,而 apply()方法接受的是一个包含多个参数的数组(或类数组对象)。/
var is_array = function (value){
return Object.prototype.toString.applay(value) === ‘[object Array]’;
//return Object.prototype.toString.call(value) === ‘[object Array]’;
}

//1、对象的实例化:
①使用new关键字
eg://构造函数
function Create(age){
this.age=age;
}
var firstPerson = new Create(16);
②使用对象字面量(注:在属性列表的最后一个值的末尾,不要使用结尾逗号)
eg:var firstObject = { };
var obj1 = obj2 = { };//obj1与obj2引用的是同一个对象;

//obj1与obj2引用的是不同对象;
var obj1 = { };
var obj2 = { };

2、javascript没有类,使用原型继承

3、如果函数没有返回一个特定的值,则将会返回一个undefined值

4、闭包是一个处在函数体中的 并引用了函数体当前执行上下文中的变量的函数,闭包可以减少命名空间的冲突

5、数组的创建:
①使用Array()构造函数
eg: var arr1 = new Array();
②使用数组字面量[];
eg: var arr1 = [1,2];

6、删除一个数组元素不会改变数组的长度,只是会将该元素置为空,留下一个空元素

7、未指定类型添加方法的代码:
Function.prototype.method = function(name, func){
this.prototype[name] = func;
return this;
}

文章目录