(建議收藏)JS基礎(chǔ)入門二 - 核心語法

1.1 JS語法
嚴(yán)格區(qū)分大小寫 ?例如: a 和 A是兩個完全不同的東西
忽略所有的換行與空格 ?它們存在的目的就是為了提高程序的可讀性
1.2 JS中的注釋
html 中的注釋: <!-- 注釋文本 -->
css 中的注釋: /* 注釋文本 */
js中的注釋:
// 單行注釋
/* 多行注釋 */
1.3 JS的引入
行內(nèi)方式:借助的是html中的事件屬性 如:onmouseover ? onmouseout ?onclick等
嵌入script代碼:借助script標(biāo)簽,在script標(biāo)簽內(nèi)書寫 js 代碼
引入外部的JS代碼:借助script標(biāo)簽,引入外部獨立的 js 文件
注:script標(biāo)簽可以嵌入到 html 文檔的任何位置;
? ?一個html文件中,可以嵌入多個script標(biāo)簽;
通過 src 屬性引入外部 JS 文件的 script 標(biāo)簽內(nèi)不能再去書寫 JS 代碼。
?
1.4 數(shù)據(jù)輸出的方式
alert() 警告框 ? 效果:會向頁面彈出一個彈框,必須點擊確定才能繼續(xù)執(zhí)行代碼;會有阻塞效果
console.log() ?控制臺打印日志

二、常量
2.1 概述
常量:又稱字面量,字面的意思就是你看到什么就是什么。在程序執(zhí)行過程中不會發(fā)生改變。
如上面,在控制臺輸出的 "Hello Javascript!!" 就是一個字面量
常量分為:數(shù)值常量、字符串常量、布爾值常量等
2.2 數(shù)值常量
數(shù)值:整數(shù)(10,23)、浮點數(shù)(1.34,3.14)
生活中常見的進(jìn)制數(shù)是十進(jìn)制數(shù),由 0 - 9之間的數(shù)字組成,逢十進(jìn)一 ?如:10 ?20 ?34 ?56等等
程序中除了十進(jìn)制外,可能還會碰到二進(jìn)制、八進(jìn)制、十六進(jìn)制等進(jìn)制數(shù)
計算機(jī)底層的運算,使用的是二進(jìn)制補(bǔ)碼的形式進(jìn)行運算
二進(jìn)制,由 0 和 1組成,前綴標(biāo)識為 0b ? 如:0b1000 0111
八進(jìn)制,由 0 - 7 之間的數(shù)字組成,前綴標(biāo)識 0 、0o、0O ?如: 0o76
十六進(jìn)制,由 1 - 9,a-f 組成,a-f 代表的是 10 - 15之間的數(shù)字,前綴標(biāo)識 0x ?如: 0xa1f6
2.3 字符串常量
雙引號或單引號進(jìn)行包裹的文本 ?有點類似于生活中我們說的各種話 ?如: “Hello” ?"您好" ?'男'
如果想要添加一些特殊的符號,需要借助轉(zhuǎn)義字符 "\",如下:
\n ? ?換行
\t ? ? 制表符
\r ? ? 回車
\" ? ? "
\' ? ? '
\\ ? ? ?\
2.4 布爾值常量
布爾值有且只有兩個: true ?和 ?false
三、變量
3.1 概述
變量:用來存儲信息數(shù)據(jù)的容器。在程序執(zhí)行的過程中,可以發(fā)生改變。
信息數(shù)據(jù):可以是上面講過的常量、也可以是后面要講的函數(shù)、數(shù)組、正則等等所有的東西。
3.2 變量的聲明
變量使用關(guān)鍵字 var 進(jìn)行聲明。
語法格式 ?var ?變量名 ?= 初始化值;
解釋 將賦值運算符"="右邊的初始化值 賦給 左邊使用var聲明的變量,那么此時這個變量在內(nèi)存中開辟一個空間,存儲初始化值。
舉例 ?var str = "Hello"; ? var ? num = 10;

3.3 變量的命名規(guī)則
由數(shù)字、字母、下劃線以及美元符號($)組成
數(shù)字不能開頭
見名知意
駝峰式命名:首字母小寫,多個單詞,從第二個單詞開始首字母大寫 ?如:getMaxNum
盡可能簡化命名的長度

3.4 多個變量的聲明方式
第一種:每一個都是用 var 聲明,分號結(jié)束
第二種:如果是連續(xù)聲明多個變量,可以使用使用一個var,變量之間使用逗號隔開,最后分號結(jié)束即可

3.5 變量的提升
我們可以用先使用后面聲明的變量,即使變量有賦值,也是 undefined

變量提升的原因:
瀏覽器中的JS引擎,在解析JS代碼時,分為兩步:預(yù)解析階段 和 運行階段。
預(yù)解析階段:會審查JS中是否有聲明語句,如果有,就將其提升到當(dāng)前作用域內(nèi)所有JS語句的頂部
運行階段:進(jìn)行賦值操作
所以上面,變量的提升演示部分代碼,等價于下面的代碼

四、變量數(shù)據(jù)類型
變量的數(shù)據(jù)類型分為兩大類:基本數(shù)據(jù)類型 和 引用數(shù)據(jù)類型。
4.1 基本數(shù)據(jù)類型
Number數(shù)值類型:整數(shù) 10,20 ?小數(shù) 10.23 ?3.14 ? ? ?Infinity無窮大 ? ?NaN(Not a Number)不是一個數(shù)字
String字符串類型: 雙引號或者單引號包裹的文本 如:var str = "Hello"; 那么變量str的數(shù)據(jù)類型就是字符串類型
Boolean布爾類型:有且只有兩種值 true 和 false
Null空類型:空指針對象 它是一個特殊的對象
Undefined未被定義的:變量被聲明,但是沒有被賦值
4.2 引用數(shù)據(jù)類型
Object對象類型(所有內(nèi)置對象都是這個類型,如:數(shù)字Array對象、字符串String對象、RegExp對象等)
Function函數(shù)類型
五、數(shù)據(jù)類型的檢測
通過 typeof 關(guān)鍵字進(jìn)行檢測,檢測語法如下:
typeof 變量名
typeof(變量名)

六、數(shù)據(jù)類型之間的轉(zhuǎn)換
6.1 隱式轉(zhuǎn)換
借助的是運算符 ?+ ?- ?* ?/ ?% 等等
運算符“+”可以是:數(shù)學(xué)的加運算、有字符串存在的情況下是字符串 拼接運算、正號

6.2 顯式轉(zhuǎn)換
借助內(nèi)置的方法或者包裝類實現(xiàn)
內(nèi)置方法:
parseInt() ? 將其他數(shù)據(jù)類型轉(zhuǎn)為整數(shù)類型;數(shù)值的取整
? ?parseFloat() ?將其他數(shù)據(jù)類型轉(zhuǎn)為浮點數(shù)類型;浮點數(shù)
? ?toString() ?將其它數(shù)據(jù)類型轉(zhuǎn)為字符串類型
包裝類:
Number() ?將其他數(shù)據(jù)類型轉(zhuǎn)為數(shù)值類型
? ?String() 將其它數(shù)據(jù)類型轉(zhuǎn)為字符串類型
Boolean() ?將其它數(shù)據(jù)類型轉(zhuǎn)為布爾類型

七、prompt
prompt() ?信息提示框;提示用戶在指定的輸入框內(nèi)輸入信息
prompt(msg,ipt) ?方法
參數(shù) ?msg 設(shè)置文本提示信息,字符串類型
?ipt輸入框中的內(nèi)容,字符串類型
返回值 ?返回用戶輸入的數(shù)據(jù),字符串類型
