12 2013 档案
摘要:jQuery.extend()中,第一个参数可以添加一个布尔值,表示是否深层拷贝,默认是false.但如果设置为true,则表示深层拷贝.下面来看看什么是深层拷贝: 1 得到的结果如下:还有另外很重要的一点,浅拷贝时,假如a对象的属性值love是一个对象{...},拷贝到b对象以后,b对象的love...
阅读全文
摘要:使用~function(){}()也是声明并调用函数的方法之一:这是一段使用~function(){}()来声明函数并调用函数的例子: ~function() { alert(typeof next) // undefined ~function next() { alert(typeof next) // function }() }();把外层换成(function(){})()如下: (function() { alert(typeof next); // undefined (function next() { alert(typ...
阅读全文
摘要:原型继承的本质就是一条原型链,对象会沿着这条链,访问链里的方法属性.对象的__proto__属性就是用于访问它的原型链的上一层:考虑以下对象:1. 所有对象的原型:Object.prototype2. 所有函数的原型:Function.ptototype3. 函数的构造函数:Function4. 对...
阅读全文
摘要:很多人对constructor的理解是指向对象的构造函数,今天才发现这种理解是有偏差的...其实, constructor指向的不是实例化实例的构造函数,而是实例化该对象的构造函数的原型的构造函数以这个实例为例,p.constructor指向的是Person.prototype的构造函数
阅读全文
摘要:利用事件冒泡的特性,给父元素绑定事件,然后判断事件对象,来给父元素的每个子元素添加事件,而不是直接在所有的子元素上绑定事件: 给每个li绑定事件:li.addEventListener('click',function(){console.log(this)});通过委托来给li绑定事件:ul.addEventListener('click',function(e){ if(e.toElement.tagName=='li'){ console.log(this); return false }})后者只绑定了一次事件,性能上要优于前者.jque
阅读全文