如何处理参数obj,让方法A的域有obj对象的元素
<script type="text/javascript">function A(obj) {
//如何处理obj,让方法A的域有obj对象的元素?好比写var a = '', b = '',这样的效果?当然a,b是随传入的obj值而可变的!
if(a) alert(a);
if(b) alert(b);
}
A({a:a});
A({b:b});
</script> <script type="text/javascript">
function A(obj) {
with(obj){
//如何处理obj,让方法A的域有obj对象的元素?好比写var a = '', b = '',这样的效果?当然a,b是随传入的obj值而可变的!
if(a) alert(a);
if(b) alert(b);
}
}
A({a:a});
A({b:b});
</script> 不要试图做一些不可能或者费力不讨好的事情 先obj toString,然后eval string,但是这样得到的变量是全局的,不是在方法A那个作用域下
function A(obj) {
//如何处理obj,让方法A的域有obj对象的元素?好比写var a = '', b = '',这样的效果?当然a,b是随传入的obj值而可变的!
var str = '';
for(var p in obj){
//获取type
var type = typeof(obj);
var com = '';
switch(type){
case 'string':
com = '\'';
break;
default:
;
}
str += 'var '+ p +'='+ com+ obj +com+';';
}
eval(str);
if(a) alert(a);
if(b) alert(b);
}
A({a:'a',b:234});
是这个意思么?
页:
[1]