做前端久了,会发现很多比较杂的知识点,平时很少用到(往往在面试的时候经常见到),但是遇到的时候会很揪心。。。所以遇到的时候把它记录下来,但求有个印象,再次遇到时,可以在这里快速找到解决。
1、文档碎片节点 document.createDocumentFragment()
2、数组排序
1
2
3
4
5
6
|
var
a = [];
a.sort( function ($1, $2){
if ($1 > $2) { return
1}; //正序
else
if ($1 < $2) { return
-1;} //倒序
else
return 0 //相等
}) |
3、面向对象编程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
( function (){
var
c = new
funName($( "id" ));
function
funName(container){
//添加属性
};
funName.prototype = {
//添加方法
fun1: function (){
};
}
})(); |
4、如果是实例方法,不同的实例化,他们的方法地址是不一样的,是唯一的;如果是原型方法,那么他们地址是共享的,大家都是一样
5、判断一个对象实例(对象引用)是不是指向了原型对象
1
|
alert( Box.prototype.isPrototypeOf(box1)); |
6、判断实例中是否存在指定属性
1
2
|
alert(box1.hasOwnProperty( "name" ));
alert( "name"
in box1); //不管实例属性或原型属性是否存在,只要有就返回true
|
7、判断只有原型中有属性
1
2
3
|
function (obj,property){
return
!obj.hasOwnProperty(property)&&(property in
obj)
} |
8、字符串连接是很耗性能的,尽量用数组代替