Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript对象文字赋值_Javascript_Backbone.js - Fatal编程技术网

Javascript对象文字赋值

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

我使用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.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”方法。