十一、不能申明的變量

今天是 2018 - 1 - 11,想寫點什么呢。說點不能定義為變量的關(guān)鍵字和保留字吧

用 var 定義作用域變量
同時新增了一些 let 定義局部變量 ,const 定義常量
不過很可惜,新增的在目前的安卓上用不了。

function 這個不陌生了吧,申明一個Function對象
return 也是非常常見的,用來結(jié)束當(dāng)前作用域的執(zhí)行流程
if 邏輯判斷 else 可以組成很簡單的選擇結(jié)構(gòu)
while和for 兩者都是等價的循環(huán)操作符
不過while和do..while需要注意一下區(qū)別
do{ 一下,然后}while()和while(){然后隱藏的do}的區(qū)別,前一個先執(zhí)行一次試試,后一個試也不準(zhǔn)試。
break和 continue 負責(zé)調(diào)整循環(huán)走向,結(jié)束整個循環(huán)用break,跳過當(dāng)次循環(huán)用continue。
其實還有一種假裝是if的選擇結(jié)構(gòu) switch,不過太多了case是影響效率的。
delete 其實是一個操作符,用來刪除某個對象上的屬性用的
typeof 操作符,通常用來判斷數(shù)據(jù)的基本類型,有: object string number boolean undefined symbol,順帶一提null是object的子對象,可以用 typeof操作符,同時也有typeof函數(shù)可以用,效果是一樣的
常用的可能會出現(xiàn)誤區(qū)的地方

typeof null // object
typeof [] // object
typeof '' // string
typeof undefined // undefined
typeof Symbol // function
typeof Symbol() // symbol

說到這里就不能不說instanceof了,當(dāng)然我提過好多次。
有問題時不想處理就throw一個BUG(Error)出來
try{}catch(){}finally{} 抓BUG,啪啪啪處理一頓,但是能不能成熟的像個孩子,少寫點BUG

對不對還不是得看true和false怎么用,但是沒有值能用時null和undefined的含義也是不一樣的

如果你寫nodejs,
那可高興了什么yield,async,await,都能用了。
如果你用babel,那么上面的都能用
下面的也能用
import , from ,
如果你寫typescript
那恭喜你你還有 private ,public ,default,extends,implements,super, static, enum也可以用

有些字它不是關(guān)鍵字,但是也不能用
java的關(guān)鍵字,在js里面也不能用來定義變量,畢竟要向當(dāng)初的大佬看起,這種歷史問題就不好追究了。
內(nèi)定的全局變量也不能作為變量使用,畢竟人家先定義的,你不能亂改一通,代碼還想不想用了。
比如你在瀏覽器下面,window對吧,你var window =1,不管你怎么定義這個window都是Window對象,不會變成1的,要是變了可不得亂套不成。
假如你寫node,require對吧,你啪的一下,把require改了,然后就沒有然后了。

最重要的this,不必再說了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容