Javascript基礎(chǔ)知識(shí)詳解
變量
- 基本語(yǔ)法
var age=10;//聲明一個(gè)名稱為age的變量,并且為它賦值,稱為變量的初始化
var是一個(gè)JS關(guān)鍵字,用來(lái)聲明變量。我們也可以按照其他編程語(yǔ)言的思路,給變量進(jìn)行更新,并且可以同時(shí)聲明多個(gè)變量,此時(shí)只需要使用一個(gè)var 多個(gè)變量名之間使用英文逗號(hào)來(lái)隔開(kāi)。
- 命名規(guī)范
由字母(A-Za-z)、數(shù)字(0-9)、下劃線(_)、美元符號(hào)( $ )組成,如:usrAge, num01, _name
嚴(yán)格區(qū)分大小寫(xiě)。var app; 和var App; 是兩個(gè)變量
不能以數(shù)字開(kāi)頭并且必須是一個(gè)單詞,中間不能有空格。18age 是錯(cuò)誤的
不能是關(guān)鍵字、保留字。例如:var、for、while
變量名必須有意義。
遵守駝峰命名法。首字母小寫(xiě),后面單詞的首字母需要大寫(xiě)。myFirstName
數(shù)據(jù)類型
- 數(shù)據(jù)類型介紹
JS是一種弱類型或者說(shuō)動(dòng)態(tài)語(yǔ)言,這意味著不需要提前聲明變量的值,在程序運(yùn)行過(guò)程中,類型會(huì)自動(dòng)被確定。變量的數(shù)據(jù)類型是由JS引擎根據(jù)等號(hào)右邊變量值的數(shù)據(jù)類型進(jìn)行判斷的,意味著相同的變量可以用作不同的類型。
var age = 10; // 這是一個(gè)數(shù)字型 var age="10" //這是一個(gè)字符串
JS數(shù)據(jù)類型分為簡(jiǎn)單數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型
Number String Boolean Undefined Null(簡(jiǎn)單數(shù)據(jù)類型又稱為基本數(shù)據(jù)類型)
Object Array Date function(復(fù)雜數(shù)據(jù)類型又稱為引用數(shù)據(jù)類型)
但是在ES6和H5的新增語(yǔ)法中,又新增了Symbol簡(jiǎn)單數(shù)據(jù)類型(后期會(huì)講)

- Number
常見(jiàn)的有二進(jìn)制,八進(jìn)制,十進(jìn)制,十六進(jìn)制,在JS中八進(jìn)制前面加0,十六進(jìn)制前面加0x
//1.八進(jìn)制數(shù)字序列范圍:0~7 var num1 = 07; // 對(duì)應(yīng)十進(jìn)制的7 var num2 = 019; // 對(duì)應(yīng)十進(jìn)制的19 var num3 = 08; // 對(duì)應(yīng)十進(jìn)制的8 //2.十六進(jìn)制數(shù)字序列范圍:0~9以及A~F var num = 0xA;
最大值:Number.MAX_VALUE,這個(gè)值為:1.7976931348623157e+308
最小值:Number.MIN_VALUE,這個(gè)值為:5e-32
alert(Number.MAX_VALUE); // 1.7976931348623157e+308 alert(Number.MIN_VALUE); // 5e-32
三個(gè)特殊值
Infinity ,代表無(wú)窮大,大于任何數(shù)值
-Infinity ,代表無(wú)窮小,小于任何數(shù)值
NaN ,Not a number,代表一個(gè)非數(shù)值
isNaN()判斷一個(gè)變量是否為非數(shù)字的類型
var usrAge = 21; var isOk = isNaN(userAge); console.log(isNum); // false ,21 不是一個(gè)非數(shù)字 var usrName = "andy"; console.log(isNaN(userName)); //true ,"andy"是一個(gè)非數(shù)字
- String
使用單引號(hào)表示,也可以進(jìn)行字符串引號(hào)嵌套,可以用單引號(hào)嵌套雙引號(hào)或者用雙引號(hào)嵌套單引號(hào),但是不能單雙引號(hào)混合。轉(zhuǎn)義字符如下。

獲取字符串長(zhǎng)度length
字符串拼接 字符串+任何類型=拼接之后的新字符串,如果是兩個(gè)數(shù)值相加則結(jié)果就是一個(gè)數(shù)值
- Boolean
true和false,布爾值與數(shù)字型相加的時(shí)候,true的值為1,false的值為0
- Undefined
一個(gè)聲明后沒(méi)有被賦值的變量使用會(huì)有一個(gè)默認(rèn)值 undefined
一個(gè)沒(méi)有聲明的變量,使用會(huì)報(bào)錯(cuò)。
var variable;
console.log(variable); // undefined
console.log('你好' + variable); // 你好undefined
console.log(11 + variable); // NaN
console.log(true + variable);// NaN
- Null
var vari = null;
console.log('你好' + vari); // 你好null
console.log(11 + vari); // 11
console.log(true + vari); // 1
- 數(shù)據(jù)類型轉(zhuǎn)換
使用表單、prompt 獲取過(guò)來(lái)的數(shù)據(jù)默認(rèn)是字符串類型的,此時(shí)就不能直接簡(jiǎn)單的進(jìn)行加法運(yùn)算,而需要轉(zhuǎn)換變量的數(shù)據(jù)類型。通俗來(lái)說(shuō),就是把一種數(shù)據(jù)類型的變量轉(zhuǎn)換成另外一種數(shù)據(jù)類型。
轉(zhuǎn)化為字符串類型

轉(zhuǎn)化為數(shù)字類型

轉(zhuǎn)化為布爾類型

代表空、否定的值會(huì)被轉(zhuǎn)換為false ,如''、0、NaN、null、undefined
其余值都會(huì)被轉(zhuǎn)換為true
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean(NaN)); // false
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
console.log(Boolean('小白')); // true
console.log(Boolean(12)); // true
擴(kuò)展點(diǎn)
解釋型語(yǔ)言和編譯型語(yǔ)言。
計(jì)算機(jī)要把程序語(yǔ)言編譯(用翻譯器)成機(jī)器語(yǔ)言才能執(zhí)行程序。
翻譯器翻譯的成機(jī)器語(yǔ)言有兩種方式,一個(gè)是編譯,另外一個(gè)是解釋,區(qū)別在于翻譯的時(shí)間點(diǎn)不同。
編譯器是在代碼執(zhí)行之前進(jìn)行編譯,生成中間代碼文件
解釋器是在運(yùn)行時(shí)進(jìn)行及時(shí)解釋,并立即執(zhí)行

- 標(biāo)識(shí)符就是指開(kāi)發(fā)人員為變量,參數(shù),函數(shù)取得名字。標(biāo)識(shí)符不能是關(guān)鍵字或保留字
- 關(guān)鍵字時(shí)指JS本身已經(jīng)使用了的字,不能再用它們充當(dāng)變量名和方法名
包括:break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with
- 保留字就是預(yù)留的關(guān)鍵字,未來(lái)可能會(huì)成為關(guān)鍵字。
包括:boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile等。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
使用JavaScript制作一個(gè)簡(jiǎn)單的計(jì)數(shù)器的方法
這篇文章主要介紹了使用JavaScript制作一個(gè)簡(jiǎn)單的計(jì)數(shù)器的方法,用于計(jì)算網(wǎng)頁(yè)用戶的來(lái)訪次數(shù),需要的朋友可以參考下2015-07-07
為JS擴(kuò)展Array.prototype.indexOf引發(fā)的問(wèn)題及解決辦法
這篇文章主要介紹了為JS擴(kuò)展Array.prototype.indexOf引發(fā)的問(wèn)題及解決辦法,需要的朋友可以參考下2015-01-01
javascript類型系統(tǒng)——undefined和null全面了解
下面小編就為大家?guī)?lái)一篇javascript類型系統(tǒng)——undefined和null全面了解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07
詳解js動(dòng)態(tài)獲取瀏覽器或頁(yè)面等容器的寬高
這篇文章主要介紹了js動(dòng)態(tài)獲取瀏覽器或頁(yè)面等容器的寬高,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

