[英]Javascript Object literal assignment
我正在使用 backbone.js 创建应用程序。 我有代码JS代码如下,
window.RequestsView = Backbone.View.extend({
initialize:function ( input ) {
console.log('input ' + JSON.stringify(input) );
this.variables = { request_id:input.model.id,
status:input.model.status,
mavenGav:input.model.mavenGav,
email:input.model.emailId,
errorNo:input.model.errorNo,
errorDesc:input.model.errorDesc };
console.log("variables : "+ JSON.stringify( this.variables ) );
this.template = _.template(tpl.get('requests'));
var out = this.template( input );
console.log("out: "+ JSON.stringify( out ) );
// deep copy the object
this.request = $.extend( true, {}, input);
}
});
当我在 chrome 调试器中调试它时,我得到以下日志,
input {"model":{"mavenGav":"fgdfgfdgdfg:fgdfgfd:gdfgdfg","repositories":["dfgdfgdfgf"],"emailId":"gdfg","id":1083,"createdTime":null,"status":"CREATED","errorNo":0,"errorDesc":null}}
requests.js:12variables : {"request_id":1083}
没有错误。 分配给 this.variables 的 javascript 文字的 rest 会发生什么变化?
undefined
的值不会被字符串化为 json,因为 json 只知道数字、字符串、布尔值、null 和对象/数组。 因此属性存在,但它们在转换中“迷失”了。
试试console.debug("variables:",this.variables)
,它会让你检查变量 object。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.