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