寫在前面
1.什么是js?
JavaScript 是一種輕量級的腳本語言。“腳本語言”(script language)塔逃, 其實指的是它不具備開發(fā)操作系統(tǒng)的能力讯壶,而是只用來編寫控制其他大型應(yīng)用程序的“腳本”,比如前端工程師使用js來控制瀏覽器湾盗。
JavaScript 也是一種嵌入式(embedded)語言伏蚊。它本身提供的核心語法不算很多,只能用來做一些數(shù)學(xué)和邏輯運算格粪。JavaScript 本身不提供任何與 I/O(輸入/輸出)相關(guān)的 API躏吊,都要靠宿主環(huán)境(host)提供,所以 JavaScript 只合適嵌入更大型的應(yīng)用程序環(huán)境帐萎,去調(diào)用宿主環(huán)境提供的底層 API比伏。
目前,已經(jīng)嵌入 JavaScript 的宿主環(huán)境有多種疆导,最常見的環(huán)境就是瀏覽器赁项,另外還有服務(wù)器環(huán)境,也就是 Node 項目澈段。
- js基本語法
在這里悠菜,我們就不對js的基本語法做過多的介紹,主要分為:
- 語句概念
- 變量概念/變量提升
- 標識符/注釋/區(qū)塊概念
- 條件語句
- 循環(huán)語句
更為詳細的介紹可以參考阮老師js教程:
[js語法基礎(chǔ)] https://wangdoc.com/javascript/basic/grammar.html
js里的數(shù)據(jù)
1.數(shù)據(jù)分類
js里的數(shù)據(jù)分為七種:
- 數(shù)值(number):整數(shù)和小數(shù)败富,比如1和2.22
- 字符串(string):文本悔醋,用單引號或者雙引號表示,如:'hello'
- 布爾值(boolean):true/false
- undefined: 表示未定義
- null:表示為空值
- 對象(object):各種值的集合兽叮,數(shù)組和函數(shù)也是對象
- symbol (es6新增)
注:undefined和null的區(qū)別:沒有具體的區(qū)別的芬骄,實際運用中,有一個慣例:有一個對象object充择,現(xiàn)在不需要賦值德玫,定義為null;有一個非object的數(shù)據(jù)類型椎麦,現(xiàn)在不需要賦值宰僧,定義為undefined。
另外一個區(qū)別發(fā)生在轉(zhuǎn)換為數(shù)值類型時观挎,null會轉(zhuǎn)換為0琴儿,而undefined會轉(zhuǎn)換為nan
Number(null)
0
Number(undefined)
NaN
2.typeof 運算符
typeof運算符可以用來判斷一個數(shù)據(jù)的類型:
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
需要注意的是兩個特例:null 和fn
typeof null
"object"
typeof function(){}
"function"
- js里的類型
js中大部分數(shù)據(jù)類型之間都可以進行轉(zhuǎn)換,轉(zhuǎn)換方式可以使用以下兩種:
- String() //使用String()方法
- .tostring() //調(diào)用tostring方法
這里嘁捷,對于常見的轉(zhuǎn)換結(jié)果造成,總結(jié)在下面表中: