var app=function(){
};
var obj={
_get_:[],
_post_:[]
}
app.get=function(str,callback){
obj._get_.push({str:callback});
console.log(JSON.stringify(obj));//{"_get_":[{}],"_post_":[]} 为什么返回的是这个,没有push进去
};
app.get('/login',function(){
console.log('hello');
});
问题一:
push
的时候应该参考楼上的方式:或者考虑到兼容性问题,使用下面的方式:
问题二:
JSON.stringify
在序列化函数的时候,如果函数出现在对象中,会直接忽略
,如果是在数组中,会转化为null
:所以,并不是没有
push
进去,只是在JSON.stringify
的时候没有把函数过滤掉了,你直接打印obj
是可以看到里面的元素的。