为了账号安全,请及时绑定邮箱和手机立即绑定

使用requirejs说变量未定义是什么问题?

使用requirejs说变量未定义是什么问题?

慕田峪9158850 2018-08-06 10:09:32
mod1.jsdefine(function() {    return {a : 3};    });mod2.jsdefine(['mod1'],function(m1) {    function func2() {        var a,b=2,c=3;        a = c*m1.a;    }        return {        a : a,        b : c    }})main02.jsrequirejs(['mod2'],function(m2) {    console.log(m2.a)})加载 <script src="../require.min.js" data-main="main02.js"></script>ReferenceError: a is not defined 这个是报的错误 请问是什么问题啊 a不是定义了吗?
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

按照你的代码,

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
    }
})


查看完整回答
反对 回复 2018-09-22
  • 1 回答
  • 0 关注
  • 1482 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信