Javascript面对对象. 第一篇
2024-08-27 09:18:56
Javascript,有两个种开发模式:
1.函数式(过程化)2.面对对象(oop),面对对象语言有一个标志,就是类,而通过类可以创建任何多个属性和方法,而Ecmascript没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。
1.创建对象
创建一个对象,然后给这个对象新建属性和方法。
var box=new Object();//创建对象
box.name='link'; //添加属性,值
box.age=45;
box.run=function(){//创建方法
return this.name+this.age+'运行中....';
}
alert(box.run());
上面创建一个对象,并且给这个对象新建属性和方法。在run()方法里的this,就是代表box对象本身,这种是js创建对象最基本的方法,但是有个缺点,就是创建一个
类似的对象,就会产生大量代码。
var box=new Object();//创建对象
box.name='link'; //添加属性,值
box.age=45;
box.run=function(){//创建方法
return this.name+this.age+'运行中....';
}
alert(box.run()); var box1=new Object();
box1.name='html';
box1.age=45;
box1.run=function(){
return this.name+this.age+'运行中....';
}
alert(box1.run());
为了解决多个对象声明的问题,所以我简单说一下工厂模式的方法,这个方法就是为了解决实例化对象产生的大量重复的问题。
function createObject(name,age){
var obj=new Object(); //创建对象
obj.name=name; //添加属性
obj.age=age;
obj.run=function(){ //创建方法
return this.name+this.age+" 运行中..."
}
return obj; //返回对象
}
var box=createObject('link',23); //创建第一个对象
var box1=createObject('lxl',23) //创建第二个对象
alert(box.run());
alert(box1.run());
解决了大量重复问题,但是还有一个问题,就是识别的问题,因为根本无法搞清楚他们到底是哪个对象的实例。
下一篇我会写明白。
ps:当然我的理解,可能不是全部正确,请小伙伴们,多多指出,多多指教!
最新文章
- js 取得 Unix时间戳(Unix timestamp)
- thumbnailator图片处理
- NoSql之旅--Cassandra安装篇(一)
- C#:控制WinForm界面的显示
- Linux下配置安装PHP环境
- UVA 10585 Center of symmetry
- IE能够打开网页 可是chrome和火狐打不开网页解决的方法
- A - Prime Ring Problem(素数环,深搜,打表)
- Xcode调试之查看变量
- Blog开始
- 【Xilinx-LVDS读写功能实现】-00-开始
- 【转载】SQL Server行转列,列转行
- php根据ip段以及子网掩码,判断某ip是否处于某子网下
- Git客户端(TortoiseGit)基本使用详解
- Android客户端与数据库交互数据的简单学习
- iOS 线程安全--锁
- 【代码笔记】Web-ionic-颜色
- uiautomator 代码记录 : 随机发送短信
- Intent在Activity之间传值的几种方式
- ReferenceError: “alert” is not defined