想把两个对象赋给另一个对象,用apply怎么实现?
比如
var a = {"A":"a"};
var b = {"B":"b"};
var c;//把a,b赋值给c,让c有"A","B"属性
比如
var a = {"A":"a"};
var b = {"B":"b"};
var c;//把a,b赋值给c,让c有"A","B"属性
解决方案 »
- 如何链接前先检测是否登录
- 通过js调用dll实现文件操作
- jquery的选择器问题
- 在 firefox 下,怎样把一个XML格式字符串Load到一个对象里
- 使用自定义按键 Alt+A 触发自定义事件,但是事件执行后,会打开IE的菜单“收藏(A)”!,如何屏蔽IE的快捷键!
- 如何使用正则表达式 将某一字串转换大小写
- 如何判断空格
- 急需解决!!阿赖!,menu_xp 菜单控件中,小BUG!!请求解决!!菜单下有下拉框问题!阿赖请进
- 急:怎样在客户端控制扫描仪?
- Textarea问题
- extjs4.0 treegrid 可以像官网中的grid grouping with Summary 显示多个treegrid吗
- flexigird问题
$.extend(c,a,b);
//---------------------------------用 apply太绕 还要给a b 对象加方法才行 如下
var a ={a:1,aa:2,aaa:3,extend:function(obj){
for(var name in obj)
this[name] = obj[name];
}},
c ={c:1,cc:2,ccc:3,extend:function(obj){
for(var name in obj)
this[name] = obj[name];
}}
b={};
a.extend.apply(b,[a]);
c.extend.apply(b,[c]);
alert(b.toSource())
var target = arguments[0] || {}, i = 1, length = arguments.length, deep = true, options;
if ( typeof target === "boolean" ) {
deep = target;
target = arguments[1] || {};
i = 2;
}
if ( typeof target !== "object" && Object.prototype.toString.call(target)!="[object Function]")
target = {};
for(;i<length;i++){
if ( (options = arguments[ i ]) != null )
for(var name in options){
var src = target[ name ], copy = options[ name ];
if ( target === copy )
continue;
if ( deep && copy && typeof copy === "object" && !copy.nodeType ){
target[ name ] = arguments.callee( deep, src || ( copy.length != null ? [ ] : { } ), copy );
}
else if(copy !== undefined)
target[ name ] = copy;
}
}
return target;
}; var a ={a:1,aa:2,aaa:3,aaaa: function(){}},
c ={c:1,cc:2,ccc:3,cccc:function(){}}
b={};
extend(b,a,c);
alert(b.toSource());
var a = {"A":"a"};
var b = {"B":"b"};
var c = new Object();
$.extend(c,a,b);
alert(c.A);
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
*{ padding:0; margin:0;}
</style>
</head>
<body>
<div>
<script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var a = {"A":"a"};
var b = {"B":"b"};
var c = new Object();
$.extend(c,a,b);
alert(c.A);
</script>
</body>
</html>
var a = {"A":"a"};
var b = {"B":"b"};
var c;
c=a;
for(var i in b){
c[i] = b[i];
}
console.log(c);
var a = {"A":"a"};
var b = {"A":"xxxxx","B":"b"};
function extend(a,b){
for(var n2 in b){
a[n2]=b[n2];
}
return a;
}
var c=extend(a,b);
alert(c.B);