javascript - 使用requirejs说变量未定义是什么问题?
天蓬老师
天蓬老师 2017-04-11 11:36:06
0
1
1117
mod1.js

define(function() {
    return {a : 3};    
});


mod2.js

define(['mod1'],function(m1) {
    function func2() {
        var a,b=2,c=3;
        a = c*m1.a;
    }    
    return {
        a : a,
        b : c
    }
})


main02.js

requirejs(['mod2'],function(m2) {
    console.log(m2.a)
})

加载 <script src="../require.min.js" data-main="main02.js"></script>



ReferenceError: a is not defined 这个是报的错误 请问是什么问题啊 a不是定义了吗?
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

reply all(1)
迷茫

按照你的代码,

mod2.js

define(['mod1'],function(m1) {
    //注意这里,你的a是声明在func2里了,外面访问不到
    function func2() {
        var a,b=2,c=3;
        a = c*m1.a;
    }
    
    //然后在这要用a,当然是未定义啊
    return {
        a : a,
        b : c
    }
})

补充

改成这样就可以:

define(['mod1'],function(m1) {
    var a, b = 2, c = 3;
    a = c * m1.a;
    
    return {
        a : a,
        b : c
    }
})
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template