摘要:寫在開頭本篇是小紅書筆記的第六篇,也許你會奇怪第六篇筆記才寫語法基礎,筆者是不是穿越了。可移步筆者的文章中替換方式參考文檔高級程序設計作者以樂之名本文原創(chuàng),有不當的地方歡迎指出。
寫在開頭
本篇是小紅書筆記的第六篇,也許你會奇怪第六篇筆記才寫語法基礎,筆者是不是穿越了。
答案當然是沒有,筆者在此分享自己的閱讀心得,不少人翻書都是從頭開始,結果永遠就只在前幾章。
對此,筆者換了隨機閱讀的方式,哪章感興趣了或者想補知識點,再去翻閱對應的章節(jié)。當然目錄還是要翻的。
工作生活節(jié)奏太快,知識太多,時間與知識的增長成反比,求全不如求專,也許不能看完全書,但至少掌握所需知識點。
思維導圖是個好東西,一圖流。
由字母,下劃線_,美元符號$,數字組成
第一個字符不能是數字
注意不要使用關鍵字作標識符
對象屬性[]號寫法可不遵循標識符規(guī)則 obj[123] = 123
數據類型數據類型共有10個,ES5有7個,3個為ES6新增
number/boolean/string/undefined/object/null/function/symbol/set/map
判斷類型可用typeof
判斷對象為何種引用類型可用instanceof
undefined與nullundefined (使用var聲明但未初始化)
null (空對象指針)
undefined == null // trueNaN
NaN表示本來應返回一個數值,結果未正確返回
NaN不等于任何值,且不等于自身
用isNaN()可判斷是否為NaN
數值轉換 Number() 轉型函數參數值 | 結果 |
---|---|
true | 1 |
false | 0 |
null | 0 |
undefined | NaN |
"" | 0 |
"168" | 168 |
"168hello" | NaN |
"hello" | NaN |
TIPS:參數值為一個對象,則先調用valueOf(), 沒有再調用toString(), 然后遵循上述規(guī)則
parseInt()第一個參數為轉換的值
第二個參數為轉換的進制
會嘗試解析字符串前面的數字(不同于Number())
parseInt("168hello") -> 168parseFloat()
第一個小數點有效,忽略后面小數點的解析
會嘗試解析字符串前面的數字
忽略前導0,只支持10進制,沒有第二個參數 (不同于parseInt())
parseFloat("520.13.14") -> 520.14字符串轉換 toString() 方法
大多數數據類型擁有toString()方法,可在參數中指定轉換進制
null/undefined 沒有toString()方法
String() 轉型函數如果參數值有toString()方法,則調用toString()方法
null 轉為 "null"
undefined 轉為 "undefined"
函數 function不支持重載
后定義的函數會覆蓋之前
參數數組對象:arguments
語句if...else...
do...while... 后測試循環(huán),不同于while/for前測試循環(huán)
while
for
for...in... 遍歷對象屬性
label 與 break/continue 合用
switch...case... case 全等判斷
with 將代碼作用域設置到特定的對象中
switch...casecase 判斷時是全等判斷,不會進行類型轉換
case 值不一定是常量,可以是變量,甚至是表達式
case "hello" + "word"; case num < 10;label
label語句允許在代碼中添加標簽,label與break/continue聯(lián)合使用,可返回代碼指定位置
var num = 0; outermost: for (var i = 0; i < 10; i++) { for (var j = 0; j < 10; j++) { if ( i== 5 && j == 5) { break outermost; // 退出循環(huán)(因為outermost定義的位置在最外層) // 普通的break只能跳出一層循環(huán) } } }with
with語句的作用是將代碼的作用域設置到一個特定的對象
// window.location 對象為例子 with(location) { var url = href; // location.href }操作符
一元操作符
布爾運算符
算數運算符
關系運算符
條件運算符
賦值預算符
逗號運算符
一元操作一元操作符指的是只能操作一個值的操作符
遞增++
遞減--
后置:語句被求值后執(zhí)行自身賦值
var a = 2; var b = 20; var c = a-- + 20; // 后置運算 c: 22, a: 1布爾運算符
!! 功能等于 Boolean() 轉型函數
第一參數是對象,返回第二個參數
第一個參數為null/NaN/undefined, 則直接返回第一個參數
規(guī)則與邏輯與相同,不同的是只要第一個參數成立則不會進行后續(xù)運算
TIPS:邏輯與或都屬于短路運算,并不一定返回true/false,參數未聲明可能會報錯或賦值不成功
算數運算符+, -, *, /, %關系運算符
<, >, <=, >=, ==, ===, !=, !===
兩個參數都是數值,進行值比較
兩個參數都是字符串,進行字符編碼比較(大寫字母的字符編碼小于小寫字母)
一個參數是數值,則轉為數值比較
一個參數是對象,則先調用其valueOf(),沒有valueOf()再調用toString()
=== 全等會進行值與類型的比較
null == undefined // true
條件運算符三元表達式
var score = 90; var achie = score > 90 ? "優(yōu)秀" : "再接再厲";逗號操作符
逗號操作符可以在一條語句執(zhí)行多個操作,常用于變量初始化
TIPS: 用于賦值時,逗號操作符會返回表達式最后一項的值
var name = "KenTsang", age = 28, job = "Developer";
詳解逗號表達式,可移步筆者的文章:《一道JS面試題引發(fā)的血案》。
if-else/switch-case/?:/&&/||可移步筆者的文章: 《JS中 if/ if...else替換方式》
參考文檔
《JavaScript高級程序設計》
作者:以樂之名
本文原創(chuàng),有不當的地方歡迎指出。轉載請指明出處。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108846.html
摘要:由于計算機的國際化,組織的標準牽涉到很多其他國家,因此組織決定改名表明其國際性。規(guī)范由萬維網聯(lián)盟制定。級標準級標準是不存在的,級一般指的是最初支持的。 這篇筆記的內容對應的是《JavaScript高級程序設計(第三版)》中的第一章。 1.ECMA 和 ECMA-262 ECMA 是歐洲計算機制造商協(xié)會的縮寫,全程是 European Computer Manufacturers Ass...
摘要:項目中我們可通過設置采集率,或對規(guī)定時間內數據匯總再上報,減少請求數量,從而緩解服務端壓力。借鑒別人的一個例子只采集上報錯誤參考文檔高級程序設計如何優(yōu)雅處理前端異常作者以樂之名本文原創(chuàng),有不當的地方歡迎指出。 showImg(https://segmentfault.com/img/bVbnuud?w=640&h=640); 錯誤類型 即時運行錯誤 (代碼錯誤) 資源加載錯誤 常見...
摘要:操作符,會將數值改變正數變成負數負數變成正數。同時,也說明了,使用兩個邏輯非操作符和的操作結果相同。操作符得到的是余數。不相等操作符有兩種。 這篇筆記的內容對應的是《JavaScript高級程序設計(第三版)》中的第三章。 1.操作符 1-1 一元操作符 遞增和遞減操作符 遞增和遞減操作符有兩個 ++ 和 --。一元操作符使用的時候,可以前置也可以后置。由于兩個操作方式類似,先只說明 ...
摘要:用于把對象序列化字符串,在序列化對象時,所有函數及原型成員都會被有意忽略,不體現在結果中。對第步返回的每個值進行相應的序列化。參考文檔高級程序設計作者以樂之名本文原創(chuàng),有不當的地方歡迎指出。 showImg(https://segmentfault.com/img/bVburW1?w=658&h=494); JSON與JavaScript對象 JSON是一種表示結構化數據的存儲格式,語...
摘要:如果為假值,不傳或者傳入,函數都會返回但是,傳入這個值是完全有可能的,所以這種判斷形勢是不正確的或者使用來判斷也可以原始類型優(yōu)于封裝類型對象擁有六個原始值基本類型布爾值,數字,字符串,,和對象。 作為一個前端新人,多讀書讀好書,夯實基礎是十分重要的,正如蓋樓房一樣,底層穩(wěn)固了,才能越壘越高。從開始學習到現在,基礎的讀了紅寶書《JavaScript高級程序設計》,犀牛書《JavaScri...
閱讀 2582·2021-11-18 10:02
閱讀 1715·2021-09-30 10:00
閱讀 5333·2021-09-22 15:27
閱讀 1215·2019-08-30 15:54
閱讀 3677·2019-08-29 11:13
閱讀 2953·2019-08-29 11:05
閱讀 3329·2019-08-29 11:01
閱讀 576·2019-08-26 13:52