1.
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <title>Tutorial: Hello Dojo!</title> 6 </head> 7 <body> 8 <h1 id="greeting">Hello</h1> 9 <script src="dojo/dojo/dojo.js" data-dojo-config="async: true"></script> 10 <script type="text/javascript"> 11 require(['dojo/_base/declare'],function(declare){ 12 //命名类,这样一个名为mynamespace.MyClass的类就可以在全局应用程序中使用。 13 declare('mynamespace.MyClass',null,{ 14 }); 15 16 17 //匿名类,现在Myclass只能在它给定的作用域中使用。 18 var MyClass = declare(null,{ 19 20 }); 21 22 //没有继承的类 23 var MyClass = declare(null,{ 24 25 }); 26 27 //单继承的类,新的MySubclass类将继承MyClass类的属性和方法,父类的属性和方法可以通过第三个参数增加新的键来重写(override)。 28 var MySubClass = declare(MyClass,{ 29 30 }); 31 32 //多继承的类,declare第二个参数使用类的数组来表示多继承(这里是匿名类,所以这里的declare的第一个参数代表开头说的第二个参数!)。属性和方法的继承顺序为自左向右,数组的第一个类作为基本原型,其余的类将混入到该类。 33 var MyMutilSubClass = declare([MySubClass,MyOtherClass,MyMixinClass],{ 34 35 }); 36 37 //自定义的属性和方法 38 var MyClass = declare(MyParentClass,{ 39 myProperty1:12, 40 myOtherProperty:"hello", 41 myMethod:function(){ 42 return result; 43 } 44 }); 45 }); 46 </script> 47 </body> 48 </html>