JS知识点备忘

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

1、文档碎片节点 document.createDocumentFragment()

2、数组排序

var a = [];
    a.sort(function($1, $2){
    if($1 > $2) {return 1}; //正序
    else if($1 < $2) {return -1;} //倒序
    else return 0 //相等
})

  

3、面向对象编程

(function(){
    var c = new funName($("id"));

    function funName(container){
        //添加属性
    };

    funName.prototype = {
        //添加方法
        fun1:function(){
        };
    }

})();

  

4、如果是实例方法,不同的实例化,他们的方法地址是不一样的,是唯一的;如果是原型方法,那么他们地址是共享的,大家都是一样

5、判断一个对象实例(对象引用)是不是指向了原型对象

alert( Box.prototype.isPrototypeOf(box1));

  

6、判断实例中是否存在指定属性

alert(box1.hasOwnProperty("name"));
alert("name" in box1); //不管实例属性或原型属性是否存在,只要有就返回true

  

7、判断只有原型中有属性

function(obj,property){
    return !obj.hasOwnProperty(property)&&(property in obj)
}

  

8、字符串连接是很耗性能的,尽量用数组代替

原文地址:https://www.cnblogs.com/ljack/p/3551234.html