Javascript对象文字赋值
我使用backbone.js创建应用程序。我有如下代码:Javascript对象文字赋值,javascript,backbone.js,Javascript,Backbone.js,我使用backbone.js创建应用程序。我有如下代码: window.RequestsView = Backbone.View.extend({ initialize:function ( input ) { console.log('input ' + JSON.stringify(input) ); this.variables = { request_id:input.model.id, status:input
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文本会发生什么情况?未定义的值不会被字符串化为json,因为json只知道数字、字符串、布尔值、null和对象/数组。因此属性存在,但在转换过程中丢失
尝试console.debugvariables:,this.variables,这将允许您检查变量对象。只记录对象:console.logthis.variables;。我猜其他属性是未定义的,JSON中省略了这些属性,因为当我在JSFIDLE中测试时,我得到了正确的答案:Hmzzz。我已经更新了代码,现在它没有打印任何内容。这是我的问题。我可以在对象文本中使用变量吗?因为这个对象是主干模型,所以获取值的方法是使用“get”方法。console.log将其打印为常规JS对象。但是,如果希望访问成员变量,请使用“get”方法。