javascript函数返回对象的问题?

varprocessMessageData=function(b){
if(!b){
returnnull
}
if(typeof(b)=="string"){
b=(newFunction("return"+b))()
}
if(!b.id){
returnnull
}
vara=(newFunction("return"+$("#"+b.id).val()))();
a.requestFields=b.requestFields||{};
a.responseFields=b.responseFields||{};
returna
}
今天看到一段代码完全看不明白,上面的b=(newFunction("return"+b))()就是返回b吧,为什么要这样写?还有就是a应该是个对象,作用域应该在函数内,为什么可以做返回值?希望高手解答一下。
慕姐8265434
浏览 1312回答 2
2回答

翻阅古今

假设$("#"+b.id).val()取到的是{requestFields:123},那替换一下就成为了functionf(){return{requestFields:123}}了,相应的a就是返回的对象{requestFields:123}

翻翻过去那场雪

b=(newFunction("return"+b))()就是返回b吧这个要分情况,比如b的初值是"1+2"时,最后得到b=3;可以看下Function的用法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript