1 使用for:in循环时,需要提前对null和undifined值,否则遇到null或者undifined变量,循环将无法执行。
2 JavaScript函数中没有重载,第二个函数会将第一个函数体覆盖。
3 基本类型在内存中占用固定内存的大小,所以被保存在栈内存中
4 对于引用类型的变量,则保存在堆内存中。
5 栈内存:用于函数局部变量。
堆内存:对象的保存。
6 基本类型的类型判断使用typeOf方法,对于引用类型的类型判断使用instanceOf()方法
7 JS中的垃圾回收机制:
标记清除:给当前不使用的变量进行标记,然后对其进行内存回收。
引用计数:跟踪记录所有值被引用的次数。
8 对于对象的引用可以使用下列连个方法:1 person.name; 2 person["name"];
当对象属性有特殊字符,例如空格时应该使用第二种方法。
9 Array创建的几种方法: 1 var color = new Array();--其中()里可以添加数组的具体元素
2 var color = ["Red", "Blue" , "Black"];
10 数组中的长度,不仅仅是可读的还是可写的,可以通过Array.length对数组进行设置长度。具体例子如下:
var color = new Array [ "Red" , "Blue" , "Black"];
alert ( color.length ) ; //此时数组color的长度为3
color.length =2 ; //对数组长度赋值
alert(color [2] ); //错误,数组中只有 Red和Blue
11 使用Array.isArray()方法来判断是不是数组,使用instanceOf()方法对于只有一个全局环境的数组中可以判断,但是如果使用两个或者以上的框架的时候,会有两个数组的构造方法,对于instanceOf()方法没有办法判断。
12 数组的转换方法:toLocaleString()方法、toString()方法 、valueOf()方法
toLocaleString() : 创建一个数组中的每个值以字符串形式拼接而成的以逗号分隔的字符串
toString() : 字符串中每个值以字符串形式以逗号
valueOf() : 返回的是一个数组。
var person1 = {
toLocaleString : function (){
return "Nikolaos";
},
toString : function() {
return "Nicholas";
}
};
var person2 = {
toLocaleString : function (){
return "Grigorios";
},
toString : function () {
return "Greg";
}
};
var people = [person1, person2];
toLocaleString : function (){
return "Nikolaos";
},
toString : function() {
return "Nicholas";
}
};
var person2 = {
toLocaleString : function (){
return "Grigorios";
},
toString : function () {
return "Greg";
}
};
var people = [person1, person2];
alert(people); //Nicholas,Greg
alert(people.toString()); //Nicholas,Greg
alert(people.toLocaleString()); //Nikolas,Grigorios
alert(people.toString()); //Nicholas,Greg
alert(people.toLocaleString()); //Nikolas,Grigorios
13 数组中当要使用特定的分隔符来分割数组的元素时,可以使用join()方法来分割。具体用法如下:
var color = ["Blue" , "Red" , "Black"] ;
alert( color.join(",") ) ; //Blue,Red,Black
alert( color.join("||")) ; //Blue||Red||Black
14 数组使用栈方法Push() 、Pop () 方法
var color = ["Blue" , "Red" , "Black"] ;
color.push("Yellow"); // color.length=4
color = ["Blue" , "Red" , "Black","Yellow"] var item = color.pop() ; // item = Yellow
alert(color); // color.length = 3