Javascript面对对象. 第一篇

Posted 温故而知新

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript面对对象. 第一篇相关的知识,希望对你有一定的参考价值。

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

以上是关于Javascript面对对象. 第一篇的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段12——JavaScript的Promise对象

我的第一篇博客——JavaScript学习总结

深入理解表单脚本系列第一篇——表单对象

JavaScript 学习之第一篇JavaScript的数据类型(2016/8/29 晚 23:12)

javascript动画系列第一篇——模拟拖拽

常用Javascript代码片段集锦