最火下載站首頁
手機版
最火下載站
關注公眾號
最火下載站

當前位置:首頁 > 網絡知識 > Web前端 > Ajax/JavaScript> JavaScript 重點且難點

JavaScript 重點且難點

文章作者:網友投稿 發布時間:2019-06-14 來源:網絡

JavaScript 是一種動態類型、弱類型、基于原型、內置支持類型的直譯式腳本語言,它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,如今已經被廣泛用于 Web 應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常 JavaScript 腳本是通過嵌入在 HTML 中來實現自身的功能的。接下來,讓我們一起學習學習吧!


1、JavaScript 分類:

1)基本數據類型有:string、number、boolean、null、undefined

2)復雜數據類型:對象(廣義來說)--Object、Arry、Math、date、String、Function

它們之間的區別:

(1)保存的數據類型不同

(2)內存中的保存方式不同:基本數據類型在內存單元中保存的是具體的值;復雜類型在內存單元中保存的是值的指針(指引、地址)

(3)復制后的結果不同:復制操作就是對內存單元中的值進行拷貝操作,基本數據類型拷貝前后,兩個值沒有關系;復雜數據類型拷貝前后,兩個值是用一個值,如果復雜數據類型拷貝后,對其中的任何一個進行修改內容,那么另一個也會改變。


2、原型 prototype:

在 javascript 中,原型也是一個對象,通過原型可以實現對象的屬性繼承,javascript 的對象中都包含了一個 prototype 內部屬性,這個屬性所對應的就是該對象的原型。

yx.png

在上面的代碼中,通過了Person這個構造函數創建了一個will對象,接下來打印一下:

console.log(will.__proto__);

console.log(will.constructor);

yx1.png

由此可知:

1)"Person {}"對象就是對象will的原型,"Person {}"作為一個原型對象,也有"__proto__"屬性(對應原型的原型)。

2)在JavaScript的原型對象中,還包含一個"constructor"屬性,這個屬性對應創建所有指向該原型的實例的構造函數。

3)在這里,will對象本身并沒有"constructor"這個屬性,但是通過原型鏈查找,找到了will原型(will.__proto__)的"constructor"屬性,并得到了Person函數。


3、實例對象、構造函數、原型對象 之三者關系

實例對象:通過構造函數創建的對象,都具有__proto__屬性,指向構造函數的原型對象。

                 實例對象通過__proto__訪問到自己的原型

構造函數:用于創建實例對象使用,都具有prototype屬性,指向原型對象。

                 構造函數通過prototype訪問到自己的原型對象

原型對象:具有一個constructor屬性,指向構造函數,用于描述構造函數和實例對象之間關系的方式。

                 原型對象通過.constructor訪問到自己的構造函數


4、原型鏈:

當要訪問實例的屬性時,解析器會執行一次搜索。首先從實例對象開始,如果在實例中找到了這個屬性,則返回該屬性的值;

如果沒有找到的話,則繼續搜索 prototype 指針指向的原型對象,在原型對象中查找該屬性,如果找到,則返回該屬性的值;

如果一直找不到,就會找到 null ,即結束。這就是 javascript 的原型鏈。


5、閉包:

1)概念:能夠讀取其他函數內部變量的函數,在本質上,閉包是將函數內部和函數外部連接起來的橋梁

2)優點:實現數據的私有化,增強數據的安全性;

               延長了變量的使用范圍

     缺點:濫用閉包,會造成內存消耗,影響網頁性能;

               閉包會在父函數外部,改變父函數內部變量的值,因此不要隨便改變父函數內部變量的值

3)用途:

  (1)可以讀取函數內部的變量

  (2)讓這些變量的值始終保持在內存中,不會在函數調用后被自動清除

4)示例:

bb.png


6、構造函數:

1)特點:

  a:構造函數的首字母必須大寫,用來區分于普通函數

  b:內部使用的 this 對象,來指向即將要生成的實例對象

  c:使用 New 來生成實例對象

2)示例:

gzhs.png


7、常見的三種繼承:

1)借用構造函數繼承

缺點: 只能繼承父元素的屬性,無法繼承方法

gzhsjc.png

2)原型繼承

缺點: 只能繼承父元素的方法,無法修改屬性

yxjc.png

3)組合繼承(構造函數 + 原型繼承)-----常用

完美地實現了繼承

zhjc.png

共有0條評論網友評論

當前沒有評論!

加載更多

游戲排行榜

东莞彩票投注站申请