目錄
JavaScript簡介
輸出陳述句
JS撰寫位置
JS基本語法
字面量和變數
識別符號
資料型別
字串
Number
布林值
Null和Undefined
強制型別轉換
轉換為String
轉換為Number
轉換為Boolean
其他進制的數字
運算子
算數運算子
一元運算子
自增和自減
邏輯運算子
賦值運算子
關系運算子
相等運算子
條件運算子
運算子的優先級
Unicode編碼
JavaScript簡介
一個完整的JavaScript實作包含了三個部分:ECMAScript、DOM和BOM,
JS的特點:
-解釋型語言
-類似于C和Java的語法結構
-動態語言
-基于原型的面向物件
輸出陳述句
<script>
alert("xxx");
</script>
控制瀏覽器彈出一個警告框
<script>
document.write("xxx");
</script>
讓計算機在body中輸出一個內容
<script>
console.log("xxx");
</script>
向控制臺輸出一個內容
JS撰寫位置
1.可以將我們js代碼撰寫到標簽的onclick屬性中,當我們點擊按鈕時,js代碼才會執行
<button onclick="alert('xxx');">按鈕</button>
2.可以將將js代碼寫在超鏈接的href屬性中,當點擊超鏈接時,會執行js代碼
<a href="javascript:alert('xxx');">超鏈接</a>
雖然可以寫在標簽的屬性中,但是屬于結構和行為耦合,不方便維護,
3.可以將js代碼寫在script標簽中
<script> </script>
4.可以將js代碼撰寫到外部js檔案中,然后通過script標簽引入
<script type="text/javascript" src="xxx.js"> </script>
寫到外部檔案中可以在不同的頁面中同時參考,也可以利用到瀏覽器的快取機制
script標簽一旦用于外部檔案了,就不能再撰寫代碼了,即使撰寫了瀏覽器也會忽略,如果需要可以再創建一個新的script標簽用于撰寫內部代碼,
JS基本語法
1.js中區分大小寫
2.js每一條陳述句用;結尾
3.js中會忽略多個空格和換行,所以可以利用空格和換行進行格式化
字面量和變數
字面量,都是一些不可改變的值,字面量都是可以直接使用,但我們一般不會直接使用字面量,
變數,可以用來保存字面量,而且變數的值是可以任意改變的,在js中使用var關鍵字來宣告一個變數,
識別符號
在js中所有可以由我們自主命名的都可以稱為識別符號,例如:變數名、函式名、屬性名,
命名一個識別符號需要遵守以下規則:
1.識別符號中可以含有字母、數字、_、$
2.識別符號不能以數字開頭
3.識別符號不能是JS中的關鍵字或保留字
資料型別
資料型別指的是字面量的型別,
在JS中一共有六種資料型別
String 字串
Number 數值
Boolean 布爾
Null 空
Undefined 未定義
Object 物件
其中String、Number、Boolean、Null、Undefined屬于基本資料型別,而Object屬于參考型別
字串
String字串,在js中字串需要用引號引起來,使用雙引號或單引號都可以,但是引號不能嵌套,
var str="xxx";
Number
在js中所有的數值都是Number型別,包括整數和浮點數,
如果使用Number表示的數字超過了最大值,則會回傳一個Infinity表示正無窮,
NaN是一個特殊的數字,表示Not a Number,
如果使用js進行浮點數計算,可能得到一個不精確的數字,
布林值
布林值分為ture和false
Null和Undefined
null專門用來表示一個空的物件,null的型別是object,
當宣告一個變數,但是并不給它賦值時,它的值就是undefined,
強制型別轉換
指將一個資料型別強制轉換為其他的資料型別,
轉換為String
方式一:
-呼叫被轉換資料型別的toString()方法
-該方法不會影響到原變數,它只會將轉換的結果回傳
-null和undefined這兩個值沒有toString()方法,如果呼叫會報錯
方式二:
-呼叫String()函式,并將轉換的資料作為引數傳遞個函式
-使用String()函式做強制型別轉換時,null和undefined可以轉換為"null"和"undefined"
轉換為Number
方式一:
-呼叫Number()函式
-如果是純數字的字串,則直接將其轉換為數字
-如果字串中有非數字內容,則轉換為NaN
-如果字串中是一個空串或者全是空格的字串,則轉換為0
-如果為布爾型別,則true=1,false=0
-如果Null型別,則為0
-如果Undefined型別,則為NaN
方式二:
-這種方式專門用來對付字串
-parsetInt() 把一個字串轉換為一個整數
-parseInt()可以將一個字串中的有效的整數內容取出來,然后轉換為Number
-parseFloat() 把一個字串轉換為一個浮點數
-parseFloat()作用和parseInt()類似,不同的是它可以獲得有效的小數
如果對非String使用parsetInt()或parseFloat(),它會先將其轉換為String,然后再操作,
轉換為Boolean
方式一:
-呼叫Boolean函式
-數字 ---> 布爾
-除了0和NaN,其余的都是true
-字串 ---> 布爾
-除了空串,其余都是true
-null和undefined都是false
-物件也會轉換為true
方式二:
-為任意的資料型別做兩次非運算
其他進制的數字
在js中,如果需要表示16進制數字,則要以0x開頭
如果需要8進制數字,則以0開頭
如果需要2進制數字,則以0b開頭,但有些瀏覽器不支持
像“070”這樣的字串,有些瀏覽器會當成8進制決議,有些會當成10進制決議,可以在parseInt()中傳遞一個第二個引數,來指定數字的進制,
運算子
運算子也叫運算子,通過運算子可以對一個或多個值進行運算,比如:typeof
算數運算子
+ - * / %
當對非Number型別的值進行計算時,會將這些值轉換為Number然后在運算,(除了+)
任何值和NaN做運算都得NaN
+
可以將兩個字串進行連接,并回傳,
任何值和字串做加法運算,都會先轉換為字串,然后再和字串做拼串操作,我們可以利用這一點來將任意一個型別轉換為String,實際上還是呼叫了String()函式,
- * /
任何做- * /運算時都會自動轉換為Number,我們可以利用這一點做隱式的型別轉換,原理和Number()函式一樣,
一元運算子
一元運算子,只需要一個運算元
+ 正號
- 負號(對于非Number型別的值,會先將其轉換為Number,然后再運算)
可以對一個其他的資料型別使用+,來將其轉換為Number,原理和Number()一樣
自增和自減
自增分為兩種:前++和后++
前++:先加后使用 后++:先使用后加
自減同理
邏輯運算子
js中為我們提供三種邏輯運算子:! && ||
!非
-可以用來對一個值進行非運算
-如果對非布林值進行非運算,則會將其轉換為布林值,然后再取反(可以利用這點,來將一個其他的資料型別轉換為布林值)
&& 與
-可以對兩側的值進行與運算并回傳結果
|| 或
-可以對兩側的值進行或運算并回傳結果
&& ||非布林值的情況
-對于非布林值,會先將其轉換為布林值,然后再運算,并且回傳原值
賦值運算子
= 將右值賦值給左側的變數
+= 將右值加上左值并回傳給左值
-= *= /= %=
作用與“+=”同理
關系運算子
通過關系運算可以比較兩個值之間的大小關系,如果關系成立回傳true,否則為false,
關系元素符有:> < >= <=
任何值與NaN做任何比較都是false
非數值情況:
-對于非數值進行比較,會將其轉換為數字然后再進行比較
-如果兩側都是字串,不會將其轉換為數字進行比較,而會比較字串中字符的Unicode
-比較字符編碼是一位一位進行比較,如果兩位一樣,則比較下一位
-如果比較的兩個字串的數字,可能會得到不可預期的結果(因此,在比較時一定要型)
相等運算子
== 判斷兩值是否相等
當使用==來比較兩值時,如果值的型別不同,則會自動進行型別轉換,將其轉換為相同的型別
undefined衍生自null,所以這兩個值做相等判斷時,會回傳true
NaN不和任何值相等,包括它本身
若要判斷一個值是否為NaN,可以通過isNaN()函式來判斷,
!= 判斷兩值是否不相等(規則和==同理)
=== 全等
-用來判斷兩個值是否全等,和相等類似,但它不會自動進行型別轉換
!== 不全等
-用來判斷兩個值是否不全等,和不等類似,同樣不會自動進行型別轉換
條件運算子
條件運算子也叫三元運算子
語法:
條件運算式?陳述句1:陳述句2;
如果條件運算式的求值結果是一個非布林值,會將其轉換為布林值再運算
運算子的優先級

Unicode編碼
在字串中使用轉義字符輸入Unicode編碼
在js中使用Unicode編碼:\u四位編碼
在網頁中使用Unicode編碼:&#編碼;(此處編碼需要的是10進制)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/344269.html
標籤:其他
上一篇:vue element實作前端頁面的答題(上一題下一題,判斷對錯,點擊指示符跳轉題目,根據對錯更改指示符顏色等功能)
下一篇:javascript中的幾種回圈
