摘要:每個構造函數定義了一類對象,表示由構造函數初始化對象的集合。嚴格模式下,明確禁止八進制數。日期和時間構造函數用來創建表示日期和時間的對象,包含方法。模式匹配函數是一個構造函數,創建正則表達式。布爾值表示兩種狀態,使用保留字和。
《Javascript權威指南》就是前端工程師口中常說的犀牛書,得名是因為中文翻譯出版的書籍封面是一只犀牛,是學習JavaScript的必讀書籍。JavaScript概述
JavaScript與Java無關,是面向Web的編程語言。
前端開發工程師必備的三樣技能:描述網頁內容的HTML;描述網頁樣式的CSS和描述網頁行為的JavaScript。
JavaScript是高端的、動態的、弱類型的編程語言,非常符合面向對象和函數式編程的思想。
EMCAScript是JavaScript的標準。
JavaScript語言核心針對文本、數組、日期和正則表達式定義了許多API,但本身并不提供輸入輸出功能,輸入輸出功能由JavaScript的宿主環境(通常指的是web瀏覽器)提供。
詞法結構 字符集使用Unicode字符集,該字符集是ASCII和Latin-1的超集。
區分大小寫。
通常忽略換行符、制表符和連續空格。
轉義序列以u開頭,使用4個十六進制字符表示
允許多種方式對同一個字符編碼,并定義了標準化的解碼方式。
注釋在行尾“//”之后的文本都會被JavaScript認為是注釋并被解釋器忽略。
還可以使用“/”和“/”來包含一段多行注釋,可以跨行書寫,但不可以嵌套。
直接量就是在程序中直接使用的數據值。例如:整數和小數,字符串,布爾值,null,正則表達式,對象,數組。
標識符和保留字用來對變量和函數命名的名字和標記
必須以字符、下劃線(_)、美元符號($)開頭,后續可以使用字符、數字、下劃線、美元符號。注意數字不允許作為開頭出現,以便解釋器可以區分標識符和數字。
支持所有的Unicode字符集,但是為了移植性考慮,建議只是用Unicode字符和數字。
被拿來做自己的關鍵字的標識符被稱為保留字。
具體實現可能定義獨有的全局變量和函數,每種JavaScript運行環境都有全局屬性列表。
可選的分號使用分號分隔語句。
當每條語句獨占一行時,可以省略分號。
解釋器在缺少分號就無法運行的情況下會自動添加分號(注意不一定是每個換行符處)。
return break continue之后的表達式不能使用換行,雖然多數情況下不會報錯,但會產生邏輯錯誤。
類型、值和變量表示并操作的值的類型稱作數據類型。
變量是值的符號名稱,可以通過名稱來獲得對值的引用。
JavaScript的數據類型分為兩類:原始類型和對象類型。
原始類型包括數字、字符串和布爾值。除此之外還有兩個特殊的原始值:null和undefined。
對象是屬性的集合,每個屬性都由“名/值對”(值可以是原始值,也可以是對象)構成。
普通的JavaScript對象是“命名值”的無序集合,數組是有序集合。
函數也是一種特殊的對象。
初始化(使用new運算符)一個新建的對象,我們稱為構造函數。
每個構造函數定義了一類(class)對象,表示由構造函數初始化對象的集合。
JavaScript語言核心定義了Array,Function,Date,RegExp和Error特殊的對象。
解釋器有自己的內存管理機制,可自動進行內存的垃圾回收,當不再有任何應用指向一個對象,該對象所占內存資源被回收。
JavaScript自由進行數據類型轉換。
變量是無類型的,可以被賦予任何類型的值,使用var聲明變量。
數字不區分整數值和浮點數值,所有數字均用浮點數值表示。
采用IEEE754標準定義的64位浮點格式表示數字,實際操作時則是基于32位整數。
數字直接量前添加(-)號可以得到負值,(-)是一元求反運算符。
整型用一個數字序列表示十進制整數。
以“0x”和“0X”位前綴的是十六進制直接量,其后用0-9和A-F表示。
ECMAScript標準不支持八進制表示,但是某些實現允許采用八進制表示整數。以數字0為前綴,0-7的序列表示八進制數。
嚴格模式下,明確禁止八進制數。
浮點型直接量可以含有小數點,采用傳統的實數寫法,由整數部分,小數點和小數部分組成。
還可采用指數計數法表示,實數后面跟字母e或者E,再加指數。
算術運算算數運算符是用來進行數字運算的。包括加法運算符(+),減法運算符(-),乘法運算符(*),除法運算符(/)和求余運算符(%)。
除基本運算符外,還支持更加復雜的算術運算,通過作為Math對象的屬性定義的函數和常亮實現。
算術運算溢出、下溢或被零整除時不會報錯,結果為特殊值。
溢出時表示Infinity(正無窮)或-Infinity(負無窮)。基于它們的算術運算結果還是Infinity(保留正負號)。
下溢表示為“負零”。返回0,很少用到。
被零整除時用無窮表示,零除以零則用NaN表示,除此之外,無窮除以無窮,給負數開方都會得到NaN。
NaN不等于自身,判斷NaN為isNaN()方法,判斷無窮使用isFinite()方法。
二進制浮點數和四舍五入錯誤IEEE-754浮點數表示法是一種二進制表示法。
可以精確表示1/2、1/8和1/1024這種,但是無法精確表示1/10、1/100等。無法精確表示0.1,所以0.3-0.2==0.2-0.1返回一個false。
日期和時間Date()構造函數用來創建表示日期和時間的date對象,包含getFullYear()、getMonth()、getDate()、getDay()、getHours()、getUTCHours()方法。
文本字符串是16位不可變的有序序列。
采用UTF-16編碼的Unicode字符集。
字符串直接量字符串直接量可以寫在多行中,但每行必須以結束。
轉義字符之后加一個字符就不在表示他們的字面含義,例如n表示一個換行符。
字符串的使用+表示字符串連接,將第二個字符串拼到第一個字符串的后面。
length屬性表示字符串的長度。
字符串固定不變,變化是因為返回了新的字符串。
模式匹配RegExp()函數是一個構造函數,創建正則表達式。
布爾值表示兩種狀態,使用保留字true和false。
包含toString()方法,可以轉換成‘true’和‘false’
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/108080.html
摘要:然而,雖然先生對無所不知,被譽為世界的愛因斯坦,但他的語言精粹并不適合初學者學習。即便如此,在后面我還是會建議把當做補充的學習資源。但目前為止,依然是學習編程的好幫手。周正則表達式,對象,事件,閱讀權威指南第,,,章。 既然你找到這篇文章來,說明你是真心想學好JavaScript的。你沒有想錯,當今如果要開發現代網站或web應用(包括互聯網創業),都要學會JavaScript。而面對泛...
摘要:其中負載均衡那一節,基本上是參考的權威指南負載均衡的內容。開發指南讀了一半,就是看這本書理解了的事件循環。哈哈創京東一本騙錢的書。 歡迎大家前往騰訊云+社區,獲取更多騰訊海量技術實踐干貨哦~ 本文由騰訊IVWEB團隊 發表于云+社區專欄作者:link 2014年一月以來,自己接觸web前端開發已經兩年多了,記錄一下自己前端學習路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹...
摘要:其中負載均衡那一節,基本上是參考的權威指南負載均衡的內容。開發指南讀了一半,就是看這本書理解了的事件循環。哈哈創京東一本騙錢的書。 歡迎大家前往騰訊云+社區,獲取更多騰訊海量技術實踐干貨哦~ 本文由騰訊IVWEB團隊 發表于云+社區專欄作者:link 2014年一月以來,自己接觸web前端開發已經兩年多了,記錄一下自己前端學習路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹...
摘要:其中負載均衡那一節,基本上是參考的權威指南負載均衡的內容。開發指南讀了一半,就是看這本書理解了的事件循環。哈哈創京東一本騙錢的書。歡迎大家前往騰訊云+社區,獲取更多騰訊海量技術實踐干貨哦~ 本文由騰訊IVWEB團隊發表于云+社區專欄 作者:link 2014年一月以來,自己接觸web前端開發已經兩年多了,記錄一下自己前端學習路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹。...
閱讀 1450·2023-04-25 19:51
閱讀 1938·2019-08-30 15:55
閱讀 1753·2019-08-30 15:44
閱讀 2707·2019-08-30 13:58
閱讀 2704·2019-08-29 16:37
閱讀 1084·2019-08-29 15:34
閱讀 4019·2019-08-29 11:05
閱讀 2633·2019-08-28 17:51