成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

讀書(shū)筆記(06) - 語(yǔ)法基礎(chǔ) - JavaScript高級(jí)程序設(shè)計(jì)

iOS122 / 1999人閱讀

摘要:寫(xiě)在開(kāi)頭本篇是小紅書(shū)筆記的第六篇,也許你會(huì)奇怪第六篇筆記才寫(xiě)語(yǔ)法基礎(chǔ),筆者是不是穿越了??梢撇焦P者的文章中替換方式參考文檔高級(jí)程序設(shè)計(jì)作者以樂(lè)之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。

寫(xiě)在開(kāi)頭

本篇是小紅書(shū)筆記的第六篇,也許你會(huì)奇怪第六篇筆記才寫(xiě)語(yǔ)法基礎(chǔ),筆者是不是穿越了。

答案當(dāng)然是沒(méi)有,筆者在此分享自己的閱讀心得,不少人翻書(shū)都是從頭開(kāi)始,結(jié)果永遠(yuǎn)就只在前幾章。
對(duì)此,筆者換了隨機(jī)閱讀的方式,哪章感興趣了或者想補(bǔ)知識(shí)點(diǎn),再去翻閱對(duì)應(yīng)的章節(jié)。當(dāng)然目錄還是要翻的。

工作生活節(jié)奏太快,知識(shí)太多,時(shí)間與知識(shí)的增長(zhǎng)成反比,求全不如求專,也許不能看完全書(shū),但至少掌握所需知識(shí)點(diǎn)。


思維導(dǎo)圖是個(gè)好東西,一圖流。

語(yǔ)法 標(biāo)識(shí)符

由字母,下劃線_,美元符號(hào)$,數(shù)字組成

第一個(gè)字符不能是數(shù)字

注意不要使用關(guān)鍵字作標(biāo)識(shí)符

對(duì)象屬性[]號(hào)寫(xiě)法可不遵循標(biāo)識(shí)符規(guī)則 obj[123] = 123

數(shù)據(jù)類型

數(shù)據(jù)類型共有10個(gè),ES5有7個(gè),3個(gè)為ES6新增

number/boolean/string/undefined/object/null/function/symbol/set/map

判斷類型可用typeof

判斷對(duì)象為何種引用類型可用instanceof

undefined與null

undefined (使用var聲明但未初始化)

null (空對(duì)象指針)

undefined == null // true
NaN

NaN表示本來(lái)應(yīng)返回一個(gè)數(shù)值,結(jié)果未正確返回

NaN不等于任何值,且不等于自身

isNaN()可判斷是否為NaN

數(shù)值轉(zhuǎn)換 Number() 轉(zhuǎn)型函數(shù)
參數(shù)值 結(jié)果
true 1
false 0
null 0
undefined NaN
"" 0
"168" 168
"168hello" NaN
"hello" NaN

TIPS:參數(shù)值為一個(gè)對(duì)象,則先調(diào)用valueOf(), 沒(méi)有再調(diào)用toString(), 然后遵循上述規(guī)則

parseInt()

第一個(gè)參數(shù)為轉(zhuǎn)換的值

第二個(gè)參數(shù)為轉(zhuǎn)換的進(jìn)制

會(huì)嘗試解析字符串前面的數(shù)字(不同于Number())

parseInt("168hello") -> 168
parseFloat()

第一個(gè)小數(shù)點(diǎn)有效,忽略后面小數(shù)點(diǎn)的解析

會(huì)嘗試解析字符串前面的數(shù)字

忽略前導(dǎo)0,只支持10進(jìn)制,沒(méi)有第二個(gè)參數(shù) (不同于parseInt())

parseFloat("520.13.14") -> 520.14
字符串轉(zhuǎn)換 toString() 方法

大多數(shù)數(shù)據(jù)類型擁有toString()方法,可在參數(shù)中指定轉(zhuǎn)換進(jìn)制

null/undefined 沒(méi)有toString()方法

String() 轉(zhuǎn)型函數(shù)

如果參數(shù)值有toString()方法,則調(diào)用toString()方法

null 轉(zhuǎn)為 "null"

undefined 轉(zhuǎn)為 "undefined"

函數(shù) function

不支持重載

后定義的函數(shù)會(huì)覆蓋之前

參數(shù)數(shù)組對(duì)象:arguments

語(yǔ)句

if...else...

do...while... 后測(cè)試循環(huán),不同于while/for前測(cè)試循環(huán)

while

for

for...in... 遍歷對(duì)象屬性

labelbreak/continue 合用

switch...case... case 全等判斷

with 將代碼作用域設(shè)置到特定的對(duì)象中

switch...case

case 判斷時(shí)是全等判斷,不會(huì)進(jìn)行類型轉(zhuǎn)換

case 值不一定是常量,可以是變量,甚至是表達(dá)式

case "hello" + "word";
case num < 10;
label

label語(yǔ)句允許在代碼中添加標(biāo)簽,labelbreak/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)(因?yàn)閛utermost定義的位置在最外層)
            // 普通的break只能跳出一層循環(huán)
        }
    }
}
with

with語(yǔ)句的作用是將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象

// window.location 對(duì)象為例子
with(location) {
    var url = href; // location.href
}
操作符

一元操作符

布爾運(yùn)算符

算數(shù)運(yùn)算符

關(guān)系運(yùn)算符

條件運(yùn)算符

賦值預(yù)算符

逗號(hào)運(yùn)算符

一元操作

一元操作符指的是只能操作一個(gè)值的操作符

遞增++

遞減--

后置:語(yǔ)句被求值后執(zhí)行自身賦值

var a = 2;
var b = 20;
var c = a-- + 20;   // 后置運(yùn)算 c: 22, a: 1
布爾運(yùn)算符
邏輯非!

!! 功能等于 Boolean() 轉(zhuǎn)型函數(shù)

邏輯與 &&

第一參數(shù)是對(duì)象,返回第二個(gè)參數(shù)

第一個(gè)參數(shù)為null/NaN/undefined, 則直接返回第一個(gè)參數(shù)

邏輯或 ||

規(guī)則與邏輯與相同,不同的是只要第一個(gè)參數(shù)成立則不會(huì)進(jìn)行后續(xù)運(yùn)算

TIPS:邏輯與或都屬于短路運(yùn)算,并不一定返回true/false,參數(shù)未聲明可能會(huì)報(bào)錯(cuò)或賦值不成功

算數(shù)運(yùn)算符
+, -, *, /, % 
關(guān)系運(yùn)算符
<, >, <=, >=, ==, ===, !=, !===

兩個(gè)參數(shù)都是數(shù)值,進(jìn)行值比較

兩個(gè)參數(shù)都是字符串,進(jìn)行字符編碼比較(大寫(xiě)字母的字符編碼小于小寫(xiě)字母)

一個(gè)參數(shù)是數(shù)值,則轉(zhuǎn)為數(shù)值比較

一個(gè)參數(shù)是對(duì)象,則先調(diào)用其valueOf(),沒(méi)有valueOf()再調(diào)用toString()

=== 全等會(huì)進(jìn)行值與類型的比較

null == undefined // true

條件運(yùn)算符

三元表達(dá)式

var score = 90;
var achie = score > 90 ? "優(yōu)秀" : "再接再厲";
逗號(hào)操作符

逗號(hào)操作符可以在一條語(yǔ)句執(zhí)行多個(gè)操作,常用于變量初始化

TIPS: 用于賦值時(shí),逗號(hào)操作符會(huì)返回表達(dá)式最后一項(xiàng)的值

var name = "KenTsang", age = 28, job = "Developer";

詳解逗號(hào)表達(dá)式,可移步筆者的文章:《一道JS面試題引發(fā)的血案》。

if-else/switch-case/?:/&&/||可移步筆者的文章: 《JS中 if/ if...else替換方式》

參考文檔

《JavaScript高級(jí)程序設(shè)計(jì)》

作者:以樂(lè)之名
本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。轉(zhuǎn)載請(qǐng)指明出處。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/108846.html

相關(guān)文章

  • 001-讀書(shū)筆記-JavaScript高級(jí)程序設(shè)計(jì) JavaScript簡(jiǎn)介

    摘要:由于計(jì)算機(jī)的國(guó)際化,組織的標(biāo)準(zhǔn)牽涉到很多其他國(guó)家,因此組織決定改名表明其國(guó)際性。規(guī)范由萬(wàn)維網(wǎng)聯(lián)盟制定。級(jí)標(biāo)準(zhǔn)級(jí)標(biāo)準(zhǔn)是不存在的,級(jí)一般指的是最初支持的。 這篇筆記的內(nèi)容對(duì)應(yīng)的是《JavaScript高級(jí)程序設(shè)計(jì)(第三版)》中的第一章。 1.ECMA 和 ECMA-262 ECMA 是歐洲計(jì)算機(jī)制造商協(xié)會(huì)的縮寫(xiě),全程是 European Computer Manufacturers Ass...

    masturbator 評(píng)論0 收藏0
  • 讀書(shū)筆記(04) - 錯(cuò)誤監(jiān)控 - JavaScript高級(jí)程序設(shè)計(jì)

    摘要:項(xiàng)目中我們可通過(guò)設(shè)置采集率,或?qū)σ?guī)定時(shí)間內(nèi)數(shù)據(jù)匯總再上報(bào),減少請(qǐng)求數(shù)量,從而緩解服務(wù)端壓力。借鑒別人的一個(gè)例子只采集上報(bào)錯(cuò)誤參考文檔高級(jí)程序設(shè)計(jì)如何優(yōu)雅處理前端異常作者以樂(lè)之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVbnuud?w=640&h=640); 錯(cuò)誤類型 即時(shí)運(yùn)行錯(cuò)誤 (代碼錯(cuò)誤) 資源加載錯(cuò)誤 常見(jiàn)...

    Null 評(píng)論0 收藏0
  • 004-讀書(shū)筆記-JavaScript高級(jí)程序設(shè)計(jì) 基本概念(下)

    摘要:操作符,會(huì)將數(shù)值改變正數(shù)變成負(fù)數(shù)負(fù)數(shù)變成正數(shù)。同時(shí),也說(shuō)明了,使用兩個(gè)邏輯非操作符和的操作結(jié)果相同。操作符得到的是余數(shù)。不相等操作符有兩種。 這篇筆記的內(nèi)容對(duì)應(yīng)的是《JavaScript高級(jí)程序設(shè)計(jì)(第三版)》中的第三章。 1.操作符 1-1 一元操作符 遞增和遞減操作符 遞增和遞減操作符有兩個(gè) ++ 和 --。一元操作符使用的時(shí)候,可以前置也可以后置。由于兩個(gè)操作方式類似,先只說(shuō)明 ...

    nevermind 評(píng)論0 收藏0
  • 讀書(shū)筆記(01) - JSON - JavaScript高級(jí)程序設(shè)計(jì)

    摘要:用于把對(duì)象序列化字符串,在序列化對(duì)象時(shí),所有函數(shù)及原型成員都會(huì)被有意忽略,不體現(xiàn)在結(jié)果中。對(duì)第步返回的每個(gè)值進(jìn)行相應(yīng)的序列化。參考文檔高級(jí)程序設(shè)計(jì)作者以樂(lè)之名本文原創(chuàng),有不當(dāng)?shù)牡胤綒g迎指出。 showImg(https://segmentfault.com/img/bVburW1?w=658&h=494); JSON與JavaScript對(duì)象 JSON是一種表示結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)格式,語(yǔ)...

    mengbo 評(píng)論0 收藏0
  • Effective JavaScript讀書(shū)筆記(一)

    摘要:如果為假值,不傳或者傳入,函數(shù)都會(huì)返回但是,傳入這個(gè)值是完全有可能的,所以這種判斷形勢(shì)是不正確的或者使用來(lái)判斷也可以原始類型優(yōu)于封裝類型對(duì)象擁有六個(gè)原始值基本類型布爾值,數(shù)字,字符串,,和對(duì)象。 作為一個(gè)前端新人,多讀書(shū)讀好書(shū),夯實(shí)基礎(chǔ)是十分重要的,正如蓋樓房一樣,底層穩(wěn)固了,才能越壘越高。從開(kāi)始學(xué)習(xí)到現(xiàn)在,基礎(chǔ)的讀了紅寶書(shū)《JavaScript高級(jí)程序設(shè)計(jì)》,犀牛書(shū)《JavaScri...

    zhoutao 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<