第一种:直接初始化法
<!DOCTYPE HTML>
<html>
<head>
<title>直接初始化法</title>
<script type="text/javascript">
var userData={
userData:null,
code:'010',
name:location.hostname,
getName:function(){
return this.name;
},
getCode:getCode
}
//定义对象的方法
function getCode(){
return this.code;
}
//添加新方法
userData.setUserData=function(userData){
this.userData = userData;
}
userData.setUserData('chuanshanjis is jaserData');
//添加新类(模块)
userData.email={
getCode:function(){
alert("email");
//return this.code;
return userData.code;
},
}
//consoke.log向控制台输出日志信息
console.log('email is code'+userData.email.getCode())
/*
说明:
优点:
1.userData本身就是对象的实例。--上来就实例化了,也不怕浏览器受不了。
2.代码紧凑
3.编程效率高
缺点:
1.代码的重用性差,不符合面向对象编程思路
2.应避免使用该方法创建自定义对象
*/
</script>
</head>
<body>
<input type="button" value="onclick" οnclick="userData.email.getCode()">
</body>
</html>
3.Object表达式法
<!DOCTYPE HTML>
<html>
<head>
<title>Object表达式法</title>
<script type="text/javascript">
var userData = new object();
userData,userData=null;
userData.code='010';
userData.name=location.hostname;
userData.getName=function(){
}
userData.getcode=getcode;
//定义对象的方法
function getcode(){
return this.code;
}
//添加新的方法
userData.setUserData = function(userData){
this.userData = userData;
}
userData.setUserData('String is char');
//添加新的类(模块)
userData.email={
getCode:function(){
//return this.code;
return userData.code;
},
}
</script>
</head>
<body>
</body>
</html>