目录
圣杯模式
深层克隆
原型链去重
封装type
选项卡
定时器
点击变色
封装children
封装addEvent兼容性方法--给一个DOME对象添加一个事件处理函数
封装取消事件冒泡函数stopBubble
封装阻止默认事件的函数 cancelHandler
事件委托
正则小驼峰转换 the-first-name
封装一个兼容性的获取元素样式的函数getStyle
圣杯模式
function inhrit(Target,Origin){
var F = function(){};
F.prototype = Origin.prototype;
Target.prototype = new F();
Target.prototype.constructor = Target;
Target.prototype.uber = Origin.prototype;
}
Father.prototype.lastName = "haha";
function Father(){};
function Son(){};
inhrit(Son,Father);
var son = new Son();
var father = new Father();
console.log(son.lastName); //可以访问到父级上的 lastName属性
深层克隆
var obj = {
name : "abc",
wife : {
name : "xiaoli",
son : {
name : "xiaobai"
}
}
}
var obj1 = {
}
function clone(origin,target){
var target = target || {},
toStr = Object.prototype.toString,
arrStr = "[object Array]";
for(var prop in origin) {
if(origin.hasOwnProperty(prop)) {
if(origin[prop] !== null && typeof(origin[prop]) == 'object') {
if(toStr.call(origin[prop]) == arrStr) {
target[prop] = [];
}else{
target[prop] = {};
}
clone(origin[prop],target[prop])
}else{
target[prop] = origin[prop];