1、arguments不定参数-->arguments.length可用于循环不定参数组;
2、parseInt & parseFloat用于alert出的为整型数与浮点数;
3、currentStyle & getComputedStyle选取非行间样式,如遇到不兼容问题,可用if-else语句判定;
4、数组:a[1,2,3] & b[4,5,6] c[4,5,2,8,3]
splice添删:(起点,长度,x1,x2)>a.splice(2,0,7,8)>a[1,2,7,8,3];
concat数组连接:alert(a.concat(b))>[1,2,3,4,5,6]
sort排序:c.sort(function(n1,n2){return n1-n2;//从小到大排序})
join符号替换:alert(a.join('-'))>[1-2-3](逗号换成‘-’)
5、闭包:就是继承//修改(10.18)
function A(){
var i = 0;
function B(){
alert(++i);
}
return B;
}
//闭包-->GC内存处理有关
//若直接将A();调用则调用完后,i所占内存将迅速清空,
//但是若将A()赋值给c后则不会,这样的闭包的机制
var c= A();
c();
6、(对象名.constructor)可以打印出该对象所属函数;
7、(typeof 对象名)可以打印出该对象类型;
8、冒泡排序:arr[5,66,8,45,1]
for(var i = 0 ; i < arr.length-1 ; i ++){
for(var j = 0 ; j < arr.length-1 ; j ++){
if(arr [ j ] > arr [ j + 1] ){
var temp = arr [ j ];
arr [ j ] = arr [ j + 1] ;
arr [ j + 1] = temp;
}
}
}
9、prototype可以共享函数>>>类名.prototype.属性名/函数名 = function(){}
eg:function dog(){};
dog.prototype.shout = function(){alert("wangwang")}
var d1 = new dog();
d1.shout();
var d2 = new dog();
d2.shout();
//但需要注意的是该方法不能共享私有方法
10、继承(JS中的继承为使用“冒充对象”的形式来实现继承)
function Stu(name , age){
this.name = name;
this.age = age;
this.show = function(){
alert(this.name + " " +this.age)
}
}
function MidStu(name , age){
this.stu = Stu;
this.stu(name , age);
}
var p1 = new MidStu("zhangsan" , 20);
p1.show();
11、Javascript和其他面向对象的语言一样,存在三大特性:封装、多态、继承;
12、关于多重继承:由于JS中继承是由“”冒充对象“来实现,所以可以通过“多次冒充对象”来实现多重继承;