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

  • 相关阅读:
    檢查 cpu 的全部 gpio 狀態及設定
    device tree 負值 property 寫法
    shell script timer and 無限迴圈
    vim 搜尋取代功能
    英国人是这样“造”单词的
    计划时间程序
    程序猿的崛起,一篇文章看懂编程语言
    如何读懂计算机(二进制)
    为什么计算机上能看到动人的图片,精彩的视频和悦耳的音乐?(二进制)
    格式化时间用了YYYY-MM-dd,元旦当天老板喊我回去改Bug!(转载)
  • 原文地址:https://www.cnblogs.com/linkhtml/p/5564500.html
Copyright © 2011-2022 走看看