Javascript 未捕获类型错误:数字不是函数:当创建dojo类时
我在学dojo 我使用declare创建了一个dojo类,如下所示Javascript 未捕获类型错误:数字不是函数:当创建dojo类时,javascript,dojo,Javascript,Dojo,我在学dojo 我使用declare创建了一个dojo类,如下所示 require( ["dojo/_base/declare"],function(declare){ return declare(null,{ constructor : function(){ alert("done"); } }); }); 这是保存在/learnDojo/root/test.js中的 以及index.html,如下所示 <!DOCTYPE
require(
["dojo/_base/declare"],function(declare){
return declare(null,{
constructor : function(){
alert("done");
}
});
});
这是保存在/learnDojo/root/test.js中的
以及index.html,如下所示
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<script type="text/javascript">
var dojoConfig = {
async: false,
parseOnLoad: false,
isDebug : true,
packages:[
{ name:"base",
location:"/learnDojo/root"
}]
};
</script>
<script src="//localhost:8080/dojo1.9.0/dojo/dojo.js" type="text/javascript"></script>
<script type="application/javascript">
require(["base/test","dojo/_base/declare","dojo/domReady!"],function(test,declare){
var test = new test();
});
</script>
<body>
</body>
</html>
var dojoConfig={
async:false,
parseOnLoad:false,
是的,
套餐:[
{名称:“基地”,
位置:“/learnDojo/root”
}]
};
require([“base/test”,“dojo/_base/declare”,“dojo/domReady!”]),函数(test,declare){
var测试=新测试();
});
我在tomcat的webapps文件夹中的/learnDojo中有index.html
当我从浏览器加载时,我得到错误“UncaughtTypeError:number不是函数”
为什么??在定义dojo模块时,您应该使用
define()
,而不是require()。因此,您的/learnDojo/root/test.js文件如下所示:
define(
["dojo/_base/declare"],function(declare){
return declare(null,{
constructor : function(){
alert("done");
}
});
});
原因是define()
实际上会返回您在回调中返回的对象/值(在本例中是return declare(…)
语句)。但是require()
不会返回该值,从而导致奇怪的错误