js模拟面向对象【也有特别的地方】
2011-02-10 17:22
316 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
">
<html xmlns="http://www.w3.org/1999/xhtml
">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js模拟面向对象【也有特别的地方】
</title>
</head>
<body>
测试:<input id="test" type="text" value="test"/>
<script language="javascript" type="text/javascript">
var fn1 = new function(){
//@对象属性
this.config = {
c1:'1',
c2:'2'
};
//@私有方法
function $(id){
return document.getElementById(id);
}
//@公有方法
this.GetValue = function(id){
return $(id).value;
}
};
var selfObj = new function() {
var fn = function() { };
fn.prototype = {
GetValue: function(id) {
return document.getElementById(id).value;
}
};
//@公有方法
this.GetValue2 = function(id){
return new fn().GetValue(id);
}
//@注意:此时返回的是一个fn对象,所以GetValue2这个公有方法不生效
return new fn();
};
alert(fn1.GetValue('test'));
alert(fn1.config.c1);
//返回出错:对象不支持此属性或方法
alert(selfObj.GetValue2('test'));
//正常执行
alert(selfObj.GetValue('test'));
</script>
</body>
</html>
">
<html xmlns="http://www.w3.org/1999/xhtml
">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js模拟面向对象【也有特别的地方】
</title>
</head>
<body>
测试:<input id="test" type="text" value="test"/>
<script language="javascript" type="text/javascript">
var fn1 = new function(){
//@对象属性
this.config = {
c1:'1',
c2:'2'
};
//@私有方法
function $(id){
return document.getElementById(id);
}
//@公有方法
this.GetValue = function(id){
return $(id).value;
}
};
var selfObj = new function() {
var fn = function() { };
fn.prototype = {
GetValue: function(id) {
return document.getElementById(id).value;
}
};
//@公有方法
this.GetValue2 = function(id){
return new fn().GetValue(id);
}
//@注意:此时返回的是一个fn对象,所以GetValue2这个公有方法不生效
return new fn();
};
alert(fn1.GetValue('test'));
alert(fn1.config.c1);
//返回出错:对象不支持此属性或方法
alert(selfObj.GetValue2('test'));
//正常执行
alert(selfObj.GetValue('test'));
</script>
</body>
</html>
相关文章推荐
- JS模拟面向对象全解(六、扩展方法)
- JS模拟面向对象全解(二、类型与赋值)
- JS模拟面向对象全解(一、类型及传递)
- JS模拟面向对象全解(一、类型及传递)
- JS模拟面向对象全解(二、类型与赋值)
- 0.jquery 验证,以及显示出现错误的地方 1.当用jquery.validate与ajax时候特别小心在每句后面的逗号问题,如果不需要的地方加上逗号会造成页面无法进入js验证
- JS模拟面向对象全解(一、类型及传递)
- JS模拟面向对象全解(二、类型与赋值)
- JS模拟面向对象全解(三、函数重载)
- JS模拟面向对象,对象原型,JSON,with语句,for in 语句
- JS模拟面向对象全解(四、构造对象)
- js 模拟面向对象的方式
- js面向对象开发 (二)js模拟Java中的map
- 用面向对象的方式写一些js(模拟java bean拼装报文转为json)好不好用不知道。
- JS模拟面向对象全解(五、继承)
- JS模拟实现方法重载示例
- JavaScript基础----40JS面向对象-JS面向对象(2)
- JS基于面向对象实现的拖拽功能示例
- JavaScript之全面理解面向对象的JS
- 日积月累---JS面向对象(1)