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

JS創(chuàng)建類和對象的兩種不同方式

 更新時間:2014年08月08日 10:06:38   投稿:whsnow  
定義了一個新的函數(shù), 你實際上聲明了一個新的類, 而這個函數(shù)本身就相當于類的構造函數(shù),下面為大家展示創(chuàng)建一個新類的兩種不同方式

在JavaScript中, 當你定義了一個新的函數(shù), 你實際上聲明了一個新的類, 而這個函數(shù)本身就相當于類的構造函數(shù)。下面的代碼向你展示了兩種不同的方式來創(chuàng)建一個新的Person類, 而Person.prototype的定義也緊跟在函數(shù)定義之后。

var Person = function(name) { // 一個匿名函數(shù), 并將這個函數(shù)賦值給一個Person變量, 此時Person成為一個類 

this.name = name; 

} 

function Person(name) { // 直接定義一個叫做Person的函數(shù)表示Person類 

this.name = name; 

} 

Person.prototype = { // 定義Person的prototype域 

printName: function() { // 定義一個print函數(shù) 

alert(this.name); 

} 

}

當你通過函數(shù)的方式聲明了一個類之后, 你就可以通過new操作符來實例化這個類。這樣, 你就可以調(diào)用類的成員函數(shù)來完成你的邏輯。

var person = new Person("Joe Smith"); // 使用new操作符來新建一個Person的實例, 并賦給變量person 
person.printName(); // person就可以看作是一個實例的引用(reference), 所以可以通過這個引用來調(diào)用Person類中的成員函數(shù)

我們來總結一下創(chuàng)建一個新的類的實例的整個流程和步驟:

1. 通過定義一個函數(shù)的方式(匿名或者實名)來聲明一個新的類.
2. 如果有必要, 定義這個新的類的prototype域.
3. 使用new操作符緊跟你所定義的函數(shù)來創(chuàng)建一個新的類的實例. 一旦JavaScript編譯器碰到了new操作符, 它實際上創(chuàng)建了一個空的類實例變量.
4. 將所有這個類的prototype域中的屬性與方法復制到這個新的實例中, 并將其成員函數(shù)中所有的this指針指向這個新創(chuàng)建的實例.
5. 接下來, 執(zhí)行緊跟在new操作符后面的那個函數(shù).
6. 當你執(zhí)行這個函數(shù)時, 如果你試圖對一個不存在的屬性進行賦值, JavaScript編譯器將自動為你在這個實例范圍內(nèi)新創(chuàng)建這個屬性.
7. 函數(shù)執(zhí)行完畢后, 將這個初始化完成的實例返回.

在Prototype中, 使用Class對象, 你可以以一個比較簡單的方式來聲明一個新的對象。通過使用Class.create(), prototype為你創(chuàng)建了一個默認的構造函數(shù)initialize(), 一旦你實現(xiàn)這一函數(shù), 就可以以一個類似Java中構造函數(shù)的方式來創(chuàng)建一個新的類的實例。

相關文章

  • THREE.JS入門教程(3)著色器-下

    THREE.JS入門教程(3)著色器-下

    Three.js是一個偉大的開源WebGL庫,WebGL允許JavaScript操作GPU,在瀏覽器端實現(xiàn)真正意義的3D本文將介紹模擬光照/Attribut變量/更新著色器材質(zhì)/更新著色器材質(zhì)等等感興趣的朋友可以了解下啊
    2013-01-01
  • JS中Object對象的原型概念基礎

    JS中Object對象的原型概念基礎

    本篇文章是一篇關于JS學習的基礎內(nèi)容,學習Object對象的原型概念,有興趣的朋友參考下吧。
    2018-01-01
  • JavaScript表達式:URL 協(xié)議介紹

    JavaScript表達式:URL 協(xié)議介紹

    javascript:后面可以是表達式或者使用分號分隔的表達式集合如javascript: 5 + 4,感興趣的朋友可以參考下或許可以幫助到你
    2013-03-03
  • 跨域請求的完美解決方法(JSONP, CORS)

    跨域請求的完美解決方法(JSONP, CORS)

    下面小編就為大家?guī)硪黄缬蛘埱蟮耐昝澜鉀Q方法(JSONP, CORS)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • JavaScript高級程序設計(第3版)學習筆記 概述

    JavaScript高級程序設計(第3版)學習筆記 概述

    在JavaScript面世之初,沒有人會想到它會被應用的如此廣泛,也遠比一般人想象中的要復雜強大的多,在我自己學習的過程中,曾經(jīng)有過多次震撼
    2012-10-10
  • 在JavaScript中操作時間之getYear()方法的使用教程

    在JavaScript中操作時間之getYear()方法的使用教程

    這篇文章主要介紹了在JavaScript中操作時間之getYear()方法的使用教程,是JS入門學習中的基礎知識,需要的朋友可以參考下
    2015-06-06
  • javascript 函數(shù)使用說明

    javascript 函數(shù)使用說明

    其實通俗的說就是一個有名稱的代碼段,方便重用。
    2010-04-04
  • 從零學JSON之JSON數(shù)據(jù)結構

    從零學JSON之JSON數(shù)據(jù)結構

    這篇文章主要介紹了JSON數(shù)據(jù)結構的相關知識,需要的朋友可以參考下
    2014-05-05
  • javascript Event對象詳解及使用示例

    javascript Event對象詳解及使用示例

    Event代表事件狀態(tài),如事件發(fā)生的元素,鍵盤狀態(tài),鼠標位置和鼠標按鈕狀態(tài),event對象只在事件發(fā)生的過程中才有效,本文整理了一些,喜歡的朋友可以學習下
    2013-11-11
  • W3C Group的JavaScript1.8 新特性介紹

    W3C Group的JavaScript1.8 新特性介紹

    在了解了JavaScript1.7的相關更新后,我們再繼續(xù)關注JavaScript1.8的新特性。在W3C Group帶來的JavaScript系列特性文章中,JavaScript1.8的更新相對較少!
    2009-05-05

最新評論