- 0
- 0
- 约5.43千字
- 约 9页
- 2017-12-04 发布于贵州
- 举报
【精选】javascript面向对象写法与应用
javascript面向对象写法与应用
一、什么是对象?
对象是n个属性和方法组成的集合,如js内置的document, Date, Regexp, Math等等
document就是有很多的属性和方法, 如:getElementById, getElementsByTagName等等这些就是document对象支持的方法,那么我们常见的onclick, onmouseover,onmouseout等等就是document支持的属性。
二、javascript创建自定义对象,常用的有两种方式:
上面是js内置的对象,如果我们需要自己创建对象,可以使用下面2种方式【构造函数方式与字面量方式】:
1, var obj ?= new Object() ? ? ? ? ? ? ? ? ? ?构造函数方式
2, var obj = {} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字面量方式,其实就是一个json
三、为对象添加属性和方法
var obj = new Object();
obj.userName = ghostwu;
obj.age = 22;
obj.sex = man;
obj.showUserName = function(){
alert( obj.userName );
}
obj.showUserName();
此处创建了一个obj对象, 添加了3个属性: userName, age, sex,一个方法: showUserName
访问属性和方法:
对象.属性名称
对象.方法名称()
另一种形式创建对象
var obj = {};
obj.userName = ghostwu;
obj.age = 22;
obj.sex = man;
obj.showUserName = function(){
return this.userName + ---- + this.age + ---- + this.sex;
}
alert( obj.showUserName() );
先创建一个空的json,然后再为这个空的json对象添加属性和方法,上例方法中使用了一个关键词this, 关于this的指向问题,可以参考我的这篇文章[js高手之路]this知多少。
也可以直接在创建json的时候,添加属性和方法。
var obj = {
userName : ghostwu,
age :22,
sex :man,
showInfo : function(){
return this.userName + ---- + this.age + --- + this.sex;
}
};
alert( obj.showInfo() );
四,用面向对象的写法,封装一个加、减法
方式一:
var obj = new Object();
obj.add = function( a, b ){
return a + b;
};
obj.sbb = function( a, b ){
return a - b;
}
alert( obj.add( 10, 20 ) );
alert( obj.sbb( 10, 20 ) );
方式二:
var obj = {};
obj.add = function( a, b ){
return a + b;
}
obj.sbb = function( a, b ){
return a - b;
}
alert( obj.add( 10, 20 ) );
alert( obj.sbb( 10, 20 ) );
方式三:
var obj = {
add : function( a, b ){
return a + b;
},
sbb : function( a, b ){
return a - b;
}
};
alert( obj.add( 10, 20 ) );
alert( obj.sbb( 10, 20 ) );
五、用面向对象的写法,封装一个素数对象
var Prime = {
aPrime : [],
isPrime : function( n ){
if ( n 2 ) {
return false;
}else {
var flag = true;
for( var i = 2; i n; i++ ){
if( n % i == 0 ) {
您可能关注的文档
- 【精选】html5动态图表FineReport搭建物流报表决策平台的解决方案.pdf
- 【精选】html习题(答案).doc
- 【精选】Huawei AR150&200系列企业路由器产品 详版彩页.pdf
- 【精选】HTQ2008-2009学年湖北省武汉市江岸区七年级(上)期末数学试卷.pdf
- 【精选】HUGIN软件培训教程介绍-2012.pdf
- 【精选】Human Resource Management.ppt
- 【精选】HyperMesh一些常见问题的解答.pdf
- 【精选】html5培训入门教程视频.pdf
- 【精选】HY5900消防电源监控壁挂使用说明书.pdf
- 【精选】hypermesh网格划分总结.pdf
原创力文档

文档评论(0)