亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

簡(jiǎn)單分析javascript面向?qū)ο笈c原型

 更新時(shí)間:2015年05月21日 10:05:00   投稿:hebedich  
為了說明 JavaScript 是一門徹底的面向?qū)ο蟮恼Z言,首先有必要從面向?qū)ο蟮母拍钪?, 探討一下面向?qū)ο笾械膸讉€(gè)概念:1.一切事物皆對(duì)象,2.對(duì)象具有封裝和繼承特性,3.對(duì)象與對(duì)象之間使用消息通信,各自存在信息隱藏

本文主要內(nèi)容參考來自JavaScript高級(jí)程序設(shè)計(jì),面向?qū)ο笈c原型章節(jié):

1、工廠模式

ECMAScript 可以通過工廠模式來創(chuàng)建對(duì)象:

//工廠模式
function createObject(name, age) {
  var obj = new Object();                  //創(chuàng)建對(duì)象
  obj.name = name;                      //添加屬性
  obj.age = age;
  obj.run = function () {                    //添加方法
    return this.name + this.age + '運(yùn)行中...';
  };
  return obj;                            //返回對(duì)象引用
};
var obj1 = createObject('Lee', 100);          //創(chuàng)建第一個(gè)對(duì)象
var obj2 = createObject('Jack', 200);          //創(chuàng)建第二個(gè)對(duì)象
//alert(obj1.run());                          //打印第一個(gè)對(duì)象實(shí)例的run()方法
//alert(obj2.run());                          //打印第二個(gè)對(duì)象實(shí)例的run()方法

//alert(typeof obj1);
//alert(typeof obj2);
alert(obj1 instanceof Object); //true
alert(obj2 instanceof Object); //true

通過工廠模式創(chuàng)建的對(duì)象,解決了重復(fù)實(shí)例化問題,但對(duì)象識(shí)別問題無法解決(所有對(duì)象均是Object),因此要想解決對(duì)象識(shí)別問題,我們采用下面的構(gòu)造函數(shù)。

2、構(gòu)造函數(shù)

//構(gòu)造函數(shù)創(chuàng)建
function Person(name,age){  //所有構(gòu)造函數(shù)對(duì)象都是Object
  this.name=name;
  this.age=age;
  this.run=function(){
    return this.name+this.age+"ing...";
  };
};
var person1=new Person('zhu1',100);
var person2=new Person('zhu2',200);
alert(person1.run());
alert(person2.run());

alert(person1 instanceof Object); //ture
alert(typeof person2);         //Person
alert(person2 instanceof Person);  // true
var person3=new Object();
Person.call(person3,'zhu3',300);//對(duì)象冒充,person3是Object類型,冒充Person類型
alert(person3.run()); 

構(gòu)造函數(shù)中this:代表當(dāng)前作用域?qū)ο蟮囊?,如果在全局范圍this代表window對(duì)象,如果在構(gòu)造函數(shù)體內(nèi),就代表當(dāng)前構(gòu)造函數(shù)所聲明的對(duì)象。

構(gòu)造函數(shù)方法,及解決了重復(fù)實(shí)例化問題,有解決了對(duì)象識(shí)別問題,對(duì)比跟工廠方法不同之處可知:

1.構(gòu)造函數(shù)方法沒有顯示的創(chuàng)建對(duì)象(new Object());

2.直接將屬性和方法值賦值給this;

3.沒有return 語句;

4.但是使用構(gòu)造函數(shù)創(chuàng)建必須使用new運(yùn)算符;

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評(píng)論