最近计划封装一个原生的js控件,突然发现习惯了jquery的extend方法,使用原生JavaScript竟无从下手。所以只能自己尝试写一个类似jquery extend功能的方法了。
核心代码如下:
function () {
var _isObject,
_extend;
_isObject = function (o)
{ return Object.prototype.toString.call(o) === ‘[object Object]‘; }
//判断是否为Object
_extend = function
self(target, source)
{
var
property;
for (property in source)
{
if (_isObject(target[property]) && _isObject(source[property]))
{
self(target[property],
source[property]);//递归
}
target[property] =
source[property];
}
}
var arg =
arguments;
if (arg.length <= 1)
{
return;//直接返回
}
else
{
var
i;
for (i
= 1; i < arg.length; i++)
{
_extend(arg[0],
arg[i]);
}
}
}
才学疏浅,如有错误,请不吝指正。
原文地址:http://www.cnblogs.com/benson-liu/p/3731549.html