JS知识点备忘

  做前端久了,会发现很多比较杂的知识点,平时很少用到(往往在面试的时候经常见到),但是遇到的时候会很揪心。。。所以遇到的时候把它记录下来,但求有个印象,再次遇到时,可以在这里快速找到解决。

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、字符串连接是很耗性能的,尽量用数组代替

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。