博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript面对对象. 第一篇
阅读量:4673 次
发布时间:2019-06-09

本文共 1289 字,大约阅读时间需要 4 分钟。

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:当然我的理解,可能不是全部正确,请小伙伴们,多多指出,多多指教!

转载于:https://www.cnblogs.com/linkhtml/p/5564500.html

你可能感兴趣的文章
【笔记】汇编..寄存器和地址的概述
查看>>
Commons- BeanUtils学习笔记(转)
查看>>
UWP 播放声音文件
查看>>
大学毕业后拉开差距的真正原因
查看>>
记一次成功部署kolla-ansible ocata版本过程
查看>>
hdu3507 Print Article
查看>>
Vue 组件 data为什么是函数
查看>>
Java反序列化漏洞通用利用分析
查看>>
一次面试留下的实际应用问题。关于HttpModule,IIS集成模式。
查看>>
Centos系统创建用户oracle后,用该用户登陆系统,页面加载报错GConf error
查看>>
SQL的注入式攻击方式和避免方法
查看>>
删除串中指定的字符
查看>>
http协议详解
查看>>
curl http_code状态码 含义
查看>>
学习HTML(1)
查看>>
重写equals方法(未完)
查看>>
2.2.2python的BeautifulSoup库
查看>>
PostgreSql之在group by查询下拼接列字符串
查看>>
MariaDB Centos7 下安装MariaDB
查看>>
Git
查看>>