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_Requirejs - Fatal编程技术网

javascript参数的问题

javascript参数的问题,javascript,backbone.js,requirejs,Javascript,Backbone.js,Requirejs,尝试在对象内使用mColumns参数时,我遇到了以下代码的问题。第一个控制台日志正确输出,但传递到Backbone.View.extend的对象内部的日志不正确,它输出未定义的日志 define(["collections/mColumns"],function(mColumns){ console.log(mColumns); return Backbone.View.extend({ el: "#content",

尝试在对象内使用
mColumns
参数时,我遇到了以下代码的问题。第一个控制台日志正确输出,但传递到
Backbone.View.extend
的对象内部的日志不正确,它输出未定义的日志

define(["collections/mColumns"],function(mColumns){
        console.log(mColumns);
        return Backbone.View.extend({
                el: "#content",
                events:{
                    'click #addText': "addText"
                },
                initialize: function(mColumns){
                    console.log(mColumns);
                }
            }); 
});
但是,如果我事先创建了一个对象,然后将该对象作为参数传递,则效果很好。两个控制台都正确记录输出

define(["collections/mColumns"],function(mColumns){
    console.log(mColumns);
    var obj = {
        el: "#content",
        events:{
            'click #addText': "addText"
        },
        initialize: function(){
            console.log(mColumns);
        }
    }
    return Backbone.View.extend(obj);
});

这是为什么?

工作(第二个)代码段和第一个代码段之间的区别在于第一个代码段隐藏了
mColumns
变量。通过定义具有相同名称的正式函数参数,原始变量对函数内的代码不可见:

define(["collections/mColumns"],function(mColumns){  // <-- mColumns (#1)
    ...
    return Backbone.View.extend({
        ...
        initialize: function(mColumns){              // <-- mColumns (#2)
            console.log(mColumns);                   // <-- Refers to #2
        }
    })
});

define([“collections/mColumns”]、function(mColumns){//你知道你在第一种情况下跟踪了
mColumns
,是吗?@RobW你说得对,谢谢你,新手错了,如果你把它作为一个答案发布,我很乐意把它标记正确