在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 數(shù)組 push

數(shù)組 push

var app=function(){

};
var obj={

_get_:[],
_post_:[]

}
app.get=function(str,callback){

obj._get_.push({str:callback});
console.log(JSON.stringify(obj));//{"_get_":[{}],"_post_":[]} 為什么返回的是這個(gè),沒(méi)有push進(jìn)去

};

app.get('/login',function(){

console.log('hello');

});

回答
編輯回答
涼心人

問(wèn)題一:
push的時(shí)候應(yīng)該參考樓上的方式:

obj._get_.push({[str]:callback});

或者考慮到兼容性問(wèn)題,使用下面的方式:

let tmp = {}
tmp[str] = callback
obj._get_.push(tmp)

問(wèn)題二:
JSON.stringify在序列化函數(shù)的時(shí)候,如果函數(shù)出現(xiàn)在對(duì)象中,會(huì)直接忽略,如果是在數(shù)組中,會(huì)轉(zhuǎn)化為null

let a = {hello: function() {console.log('hello')}}
JSON.stringify(a) // "{}"
a = [function() {console.log('hello')}]
JSON.stringify(a) // "[null]"

clipboard.png

所以,并不是沒(méi)有push進(jìn)去,只是在JSON.stringify的時(shí)候沒(méi)有把函數(shù)過(guò)濾掉了,你直接打印obj是可以看到里面的元素的。

2017年7月22日 12:00
編輯回答
不討喜
obj._get_.push({[str]:callback});
2017年6月4日 08:50