91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是JavaScript編程

發布時間:2021-09-30 09:36:35 來源:億速云 閱讀:131 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關什么是JavaScript編程,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

值、類型和運算符

A.值

1.為了能夠順利操作非常多的位數據而又不引起數據丟失,我們可以將這些位劃分成表示不同信息的塊,在JS中,我們將這些數據塊稱為值。

2.6種基本的值類型:數字(number)、字符串(string)、布爾值(boolean)、對象(object)、函數(function)和未定義類型(undefined)

B.數字

1.在JS中實際 可存儲的數字范圍是1900萬億,可以使用帶e(指數)的科學技術法,2.998e8=2.99800000

2.使用小數時精度不高

3.JS中三個特殊的值:Infinity、-Infinity和NaN,前兩個表示無窮大和負無窮大,NaN表示“非數值”

C.一元運算符

1.使用兩個值的運算符稱為二元運算符,而使用一個值的則稱為一元運算符。減號運算符即可用作一元運算符,也可用作二元運算符

D.未定義值

1.null和undefined,用于表示無意義的值。它們各自表示其自身含義,除些之外不包含任何信息。

E.自動類型轉換

1.當有些值無法顯式地轉換成數字(比如“five”或undefined),就會產生NaN。請檢查一下是否發生了錯誤的類型轉換。

2.||當左側值可以被轉換成true時,會直接返回左側的值,否則會返回右側的值。所以這個符號的這種功能可用于返回默認值。

3.&&當左側的值可以被轉換成false時,&&運算符會返回左側值,不由返回右側值

4.短路計算:||和&&只有必要時才會計算右側的表達式。

https://github.com/zhangyue0503/html5js/blob/master/eloquentjs/1.html


程序結構

A.變量

1.變量并不包含值,而是會引用這些值:兩個不同的變量可以引用相同的值。

B.環境

我們將給定時間內的變量和變量值的集合稱為環境。

https://github.com/zhangyue0503/html5js/blob/master/eloquentjs/2.html


函數

A.詞法作用域

任何外部作用域都可以訪問到包含它的臂部作用域的變量。函數內部變量的可見性取決于函數在代碼當中的位置。在包含了一個函數定義的代碼塊中,這個函數可以訪問到代碼塊中的所有變量,即函數上層的代碼塊中的變量和函數內部的變量。這種控制變量可見性的方法稱為詞法作用域(lexical scoping)

B.調用棧

每當函數調用時,當前 的上下文信息就會被存儲在棧頂。而當函數返回時,系統會刪除存儲在棧頂的上下文信息,并使用該信息繼續執行程序

C.閉包

一個包裝了一些局部變量的函數是一個閉包。

D.遞歸

在標準的JS實現當中,遞歸寫法的函數執行效率比循環寫法的函數慢了大約10倍。執行簡單的循環操作比多次函數調用效率要高很多。若程序處理的概念非常復雜,為了確保程序簡單易懂,犧牲一定效率也的確是一種明智的選擇。除非程序執行速度確實太慢,否則先不要關注效率問題。

E.函數及其副作用

相比于直接產生副作用的函數,產生返回值的函數則更容易集成到新的環境當中使用

https://github.com/zhangyue0503/html5js/blob/master/eloquentjs/3.html


數據結構:對象和數組

A.JS中兩種最為常用的訪問屬性的方法:使用點(.)和方括號[]。如果使用點,則點之后的部分必須 是一個合法變量名,即直接寫屬性名稱。如果使用方括號,則JS會將方括號中表達式的返回值作為屬性名稱。

B.可以使用in操作符來確定對象中是否包含特定名稱的屬性

https://github.com/zhangyue0503/html5js/blob/master/eloquentjs/4.html


高階函數

A.高階函數

1.如果一個函數操作其他函數,即將其他函數作為參數或將函數作為返回值,那么我們可以將其稱為高階函數。

B.map函數

Map方法可以對數組中的每個元素調用函數,然后利用返回值來構建一個新的數組,實現轉換數組的操作。

https://github.com/zhangyue0503/html5js/blob/master/eloquentjs/5.html

深入理解對象

A.方法

在調用object.method()時,對象中的一個特殊變量this會指向當前方法所屬的對象

B.原型

1.當開發人員訪問一個對象不包含的屬性時,就會從對象原型中搜索屬性,接著是原型的原型,依此類推。空對象的原型是Object.prototype。

2.許多對象會提供自己通過特殊原型來提供對象自己的默認屬性。函數繼承自Function.prototype,數組繼承自Array.prototype等。

3.Object.getPrototypeOf函數返回的結果是對象原型。可以利用一個特定的原型來使用Object.create方法創建對象

C.構造函數

1.在JS中,調用函數之前使用new則表示調用其構造函數

2.構造函數中包含了指向新對象的變量this,除非構造函數顯式地返回了另一個對象的值,否則構造函數會返回這個新創建的對象

3.通過關鍵字new創建的對象稱之為構造函數的實例

4.構造函數其實就是函數,因此其實際原型是Function.prototype,而構造函數的prototype屬性則是其所創建的實例的原型,而非構造函數自身的原型

D.覆蓋繼承的屬性

如果原型中存在同名屬性,那么在調用該屬性時,就不會再調用原型中的那個屬性了,轉而調用我們添加到對象中的屬性。但原型本身不會被修改。

E.原型污染

1.可以使用Object.defineProperty函數定義自己的不可枚舉屬性,該函數允許我們在創建屬性時控制屬性類型

2.使用對象的hasOwnProperty方法確定自身是否包含某個屬性而不會搜索原型。

F.無原型對象

可以使用Object.create(null)來創建

G.多態

H.Getter與Setter

I.繼承

instanceof運算符會遍歷所有繼承類型

https://github.com/zhangyue0503/html5js/blob/master/eloquentjs/6.html

項目實戰:構建電子生態系統

https://github.com/zhangyue0503/html5js/blob/master/eloquentjs/7.html

以上就是什么是JavaScript編程,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

二连浩特市| 秦皇岛市| 广饶县| 白河县| 广灵县| 密山市| 淮阳县| 天门市| 封开县| 松潘县| 吉木乃县| 灵丘县| 时尚| 织金县| 冷水江市| 祁东县| 乳山市| 沈阳市| 邻水| 远安县| 龙江县| 贵阳市| 来安县| 特克斯县| 勃利县| 潼南县| 北川| 巴彦淖尔市| 昭觉县| 襄汾县| 海南省| 桐梓县| 清丰县| 天门市| 磐安县| 孝感市| 泗阳县| 木兰县| 广宗县| 高阳县| 平顶山市|