最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript快速充電

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:31:06
文檔

JavaScript快速充電

JavaScript快速充電:Netscape發(fā)明的,思想來自函數(shù)語言Schema和Self,有點接近Python.特征:弱類型,動態(tài)解析,函數(shù)是對象,對象基于Prototype前三個特征容易理解,最后一個要重點解釋。 最基本的最佳實踐:在大型程序中使用Fuction和對象!不要流水賬式編程。 The easi
推薦度:
導(dǎo)讀JavaScript快速充電:Netscape發(fā)明的,思想來自函數(shù)語言Schema和Self,有點接近Python.特征:弱類型,動態(tài)解析,函數(shù)是對象,對象基于Prototype前三個特征容易理解,最后一個要重點解釋。 最基本的最佳實踐:在大型程序中使用Fuction和對象!不要流水賬式編程。 The easi

Netscape發(fā)明的,思想來自函數(shù)語言Schema和Self,有點接近Python.

特征:弱類型,動態(tài)解析,函數(shù)是對象,對象基于Prototype

前三個特征容易理解,最后一個要重點解釋。

最基本的最佳實踐:在大型程序中使用Fuction和對象!不要流水賬式編程。

The easiest way to create an object is:

var myObject = new Object();

JavaScript對象本質(zhì)上是關(guān)聯(lián)數(shù)組。

小提示:注意將函數(shù)賦給變量時使用functionName()與functionName的區(qū)別,前者是將函數(shù)的結(jié)果付給變量,而后者將函數(shù)引用付給變量。

可以使用JSON創(chuàng)建和修改JavaScript對象,JavaScript也可以修改JSON創(chuàng)建的對象。

構(gòu)造函數(shù)/類/prototype屬性

JavaScript也有對象和類的概念,但是沒有內(nèi)建繼承的概念。事實上,每個JavaScript對象都是相同基類的實例。這個基類有能力在運行時將成員字段和函數(shù)與自己綁在一起。

安全的替代品:prototype屬性

prototype是JavaScript對象的一個屬性,在OO語言中沒有對等物。函數(shù)和屬性可以與構(gòu)造函數(shù)的prototype關(guān)聯(lián)起來。然后prototype和new關(guān)鍵字協(xié)同工作,當(dāng)使用new調(diào)用函數(shù)時,函數(shù)prototype的所有屬性和方法會附加到結(jié)果對象上。

Java代碼

function MyObject(name, size){

this.name = name;

this.size = size;

}

MyObject.prototype.tellsize = function(){

alert("size of "+this.name+" is "+this.size);

}

var myObj = new MyObject("tiddles", "7.5 meters");

myObj.tellSize();

function MyObject(name, size){

this.name = name;

this.size = size;

}

MyObject.prototype.tellsize = function(){

alert("size of "+this.name+" is "+this.size);

}

var myObj = new MyObject("tiddles", "7.5 meters");

myObj.tellSize();

注意,在聲明構(gòu)造函數(shù)之后,我們才能引用prototype,對象之恩那個繼承那些在調(diào)用構(gòu)造函數(shù)之前就已經(jīng)附加到prototype上的東西。prototype可以在兩次調(diào)用構(gòu)造函數(shù)之間進行修改,并且可以附加任何東西,不僅僅是函數(shù),到prototype上。

使用prototype來為JavaScript對象定義類似于類的行為,是一條安全和可靠的路徑。

擴展內(nèi)建類

在Web瀏覽器中,一些核心類是可以通過prototype機制進行擴展的。

Java代碼

Array.prototype.indexOf = function(obj) {

var result = -1;

for (var i=0; i< this.length; i++) {

if (this[i]==obj){

result=i;

break;

}

}

}

Array.prototype.indexOf = function(obj) {

var result = -1;

for (var i=0; i< this.length; i++) {

if (this[i]==obj){

result=i;

break;

}

}

}

prototype的繼承

JavaScript沒有本地實現(xiàn),不過有一些靈巧的變通方法。

JavaScript對象的反射

用于發(fā)現(xiàn)對象的類型

事件處理和函數(shù)上下文

在編程方式聲明Dom元素的事件處理函數(shù)時,即使沒有為函數(shù)分配參數(shù),當(dāng)點擊Dom元素時,Event對象作為了函數(shù)調(diào)用的參數(shù),元素本身作為上下文對象。

如果希望事件處理函數(shù)引用它附加到的模型對象,有兩種方法:

1.使用名稱引用模型

2.向Dom節(jié)點附加模型

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript快速充電

JavaScript快速充電:Netscape發(fā)明的,思想來自函數(shù)語言Schema和Self,有點接近Python.特征:弱類型,動態(tài)解析,函數(shù)是對象,對象基于Prototype前三個特征容易理解,最后一個要重點解釋。 最基本的最佳實踐:在大型程序中使用Fuction和對象!不要流水賬式編程。 The easi
推薦度:
標(biāo)簽: 充電 快充 javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top