JavaScript Tutorial/Dojo toolkit/Class Definition
Версия от 18:52, 25 мая 2010; (обсуждение)
Extend class
<html>
<head>
<script type="text/javascript">
var djConfig = {
baseScriptUri : "js/dojo/"
};
</script>
<script type="text/javascript" src="js/dojo/dojo/dojo.js"></script>
<script>
function FirstName() {
var firstName = "first";
this.getFirstName = function() {
return firstName;
}
}
function LastName() {
var lastName = "last";
this.getLastName = function() {
return lastName;
}
}
function NameOutput() {
this.sayName = function() {
alert(this.getFirstName() + " " + this.getLastName());
}
}
dojo.extend(NameOutput, new FirstName(), new LastName());
var name = new NameOutput();
name.sayName();
</script>
</head>
<body></body>
</html>
Use dojo to create class
<html>
<head>
<script type="text/javascript">
var djConfig = {
baseScriptUri : "js/dojo/"
};
</script>
<script type="text/javascript" src="js/dojo/dojo/dojo.js"></script>
<script>
function FirstName() {
var firstName = "A";
this.getFirstName = function() {
return firstName;
}
}
function LastName() {
var lastName = "F";
this.getLastName = function() {
return lastName;
}
}
dojo.declare("com.wbex.AnotherClass", [ FirstName, LastName],
{ middleName : "W",
getMiddleName : function() {
return this.middleName;
}
}
);
var o = new com.wbex.AnotherClass();
alert(o.getFirstName() + " " + o.getMiddleName() + " " + o.getLastName());
</script>
</head>
<body></body>
</html>
Use package name in function definition
<html>
<head>
<script type="text/javascript">
var djConfig = {
baseScriptUri : "js/dojo/"
};
</script>
<script type="text/javascript" src="js/dojo/dojo/dojo.js"></script>
</head>
<body>
<script>
function com() { }
com.wbex = function() { };
com.wbex.method1 = function() { return "method1 called"; }
alert(dojo.getObject("com.wbex.method1")() + ", " +
dojo.getObject("com.wbex.method2", true) + ", " +
dojo.getObject("com.wbex.method2", false));
</script>
</body>
</html>