[JavaScript]ES5基礎知識總結

來源:互聯網
上載者:User

標籤:而且   之間   返回   動態語言   操作符   其他   字串類型   結果   define   

1.JavaScript是一門動態語言,ES6的出現彌補了Js在大型項目上的乏力(有了“類”)。

以下是關於ES5的基礎知識:

2.

JavaScript 與C++或Java 這種傳統的物件導向語言不同,它實際上壓
根兒沒有類。該語言的一切都是基於對象的,其依靠的是一套原型(prototype)系統。而
原型本身實際上也是一種對象。

3.

封裝:封裝概念常由兩部分組成:
(1)相關的資料(用於儲存屬性)
(2)基於這些資料所能做的事(所能調用的方法)

4.

在JavaScript 中,還有一種叫做Infinity 的特殊值。它所代表的是超出了JavaScript 處
理範圍的數值。另外,任何數除以0 結果也為Infinity.
即便將正負Infinity相加,我們也不會得到0,而是會得到一個叫做NaN(Not A Number 的縮寫,即不是數字)
的東西。

5.

NaN:儘管該值得名字叫作‘不是數字’(not a number),但事實上它還是屬於數字類型,只不過是一種特殊的數字。
如果我們在算術運算中使用了不恰當的的運算元,導致運算失敗,該運算就會返回
NaN。
> var a = 10 * "f";
> a;
NaN
而且NaN 是有傳染性的,只要我們的算術運算中存在一個NaN,整個運算就會失敗。
> 1 + 2 + NaN;
NaN

6.當我們將一個數字字串用於算數運算中的運算元時,該字串會在運算中當做數字類型來使用。

7.

兩次!!值還原
藉助雙重取反操作,我們可以很輕易地將任何值轉換為相應的布爾值。理解各種類
型的值轉換為相應布爾值的規則非常重要。除了下面所列出特定值以外(它們將被轉換
為false),其餘大部分值在轉換為布爾值時都為true。
? Null 字元串""。
? null。
? undefined。
? 數字0。
? 數字NaN。
? 布爾值false。
這6 個值有時也會被我們稱為falsy 值,而其他值則被稱為truthy 值(包括字串"0"、
" "、"false"等)。

8.比較子
JS中的==運算子有點不嚴格,分為相等運算子和嚴格相等運算子:
當兩個運算元相等時返回true。在該比較操作執行之前,兩邊的運算元會被自動轉換為相同類型。
===:嚴格相等運算子:
若且唯若兩個運算元的值和類型都相同時返回true。這種比較往往更可靠,因為其幕後不存在任何形式的類型轉換。
!=:不相等運算子。(類型會進行轉換)
!==:嚴格不相等運算子。(類型不轉換)
PS:NaN 不等於任何東西,包括它自己。

9.Undefined,當使用一個不存在的變數時,控制台會報錯。但可以使用typeof修飾符來進行修飾就可以。會返回一個字串“undefined”。
如果我們在聲明一個變數時沒有對其進行賦值,調用該變數時並不會出錯,但typeof操作符依然會返回"undefined"。但null 值就完全是另一回事了。它不能由JavaScript 自動賦值,只能交由我們的代碼來完成。
這是因為null 和undefined 在被轉換為其他基本類型時,方法存在一定的區別。
在與數字進行運算時,undefined會被轉換成NaN。

10.五大基本類型(number,boolean,string,undefined,null)
PS:
(1)任何不屬於基本類型的東西都屬於對象,
(2)數字類型可以儲存的資料包括:正負整數、浮點數、十六進位數與八位元、指數以及特殊數值NaN、Infinity、-Infinity。
(3)字串類型儲存的是一對引號之間的所有字元。
(4)null 類型的值只有一個:null。
(5)undefined 類型的值只有一個:undefined。
(6)絕大部分值在轉換為布爾類型時都為true,但以下6 種falsy 值除外:"";null;undefined; 0; NaN;false。

11.檢查變數存在,最好是用typeof來判定:
var result = "";
> if (typeof somevar !== "undefined"){
result = ‘yes‘;
}

12.對於js中的數組,它可以存放任何類型,可以適用delete來移除某一項,但是移除之後數組長度並不會減少,而是這一項的值為undefined。
增加元素:我們可以通過索引來更新數組中的元素。

刪除元素:為了刪除特定的元素,我們需要用到delete 操作符。然而,相關元素被刪除後,原數組的長度並不會受到影響。從某種意義上來說,該元素被刪除的位置只是被留空了而已。

 

[JavaScript]ES5基礎知識總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.