-
HTML
:標(biāo)記語言 -
JavaScript
:編程語言
變量
1.變量是要變化的量
2.變量指的是在程序中保存數(shù)據(jù)的一個(gè)容器
3.變量是計(jì)算機(jī)內(nèi)存中存儲(chǔ)數(shù)據(jù)的標(biāo)識(shí)符,根據(jù)變量名稱可以獲取到內(nèi)存中存儲(chǔ)的數(shù)據(jù)
4.也就是說幕庐,我們向內(nèi)存中存儲(chǔ)了一個(gè)數(shù)據(jù)鹿寨,然后要給這個(gè)數(shù)據(jù)起一個(gè)名字,為了是我們以后再次找到他
5.變量的本質(zhì)是內(nèi)存中一個(gè)存儲(chǔ)單元
6.語法:var
變量名 = 值
7.示例:
//方法1:
// 定義變量
var num
//給變量賦值
num= 100
//方法2:給變量賦值
var age = 20
注意:
1.每個(gè)變量名只能存儲(chǔ)一個(gè)值
2.給同一個(gè)變量名賦值士败,后一個(gè)值將覆蓋前一個(gè)值
3.js區(qū)分英文大小寫
數(shù)據(jù)類型
分類:基本數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型
基本數(shù)據(jù)類型:
1.數(shù)值型:number
- 所有數(shù)字都是數(shù)值型
- NaN,一個(gè)非數(shù)字
2.字符串:string
- 被引號(hào)包裹的值(單引號(hào)或者雙引號(hào))
3.布爾型:boolean
- 只有true 和 false
4.null類型:null
- null,表示空的意思
5.undefined類型:undefined
- undefined满着,表示未定義的意思
復(fù)雜數(shù)據(jù)類型:
1.對(duì)象數(shù)據(jù)類型(object)
2.函數(shù)類型(function)
...
判斷數(shù)據(jù)類型
- 既然已經(jīng)把數(shù)據(jù)分開了類型谦炒,那么我們就要知道我們存儲(chǔ)的數(shù)據(jù)是一個(gè)什么類型的數(shù)據(jù)
- 使用
typeof
關(guān)鍵字來進(jìn)行判斷
// 第一種使用方式
var num = 100;
console.log(typeof num );
// 第二種使用方式
var name= 'abcdefg';
console.log(typeof(name));
判斷一個(gè)變量是不是數(shù)字
- 可以使用
isNaN
這個(gè)方法來判斷一個(gè)變量是不是數(shù)字 -
isNaN
:is not a number
// 如果變量是一個(gè)數(shù)字
var num = 100;
console.log(isNaN(num )); //=> false
// 如果變量不是一個(gè)數(shù)字
var name= 'Jack'
console.log(isNaN(name)); //=> true
數(shù)據(jù)類型轉(zhuǎn)換
- 數(shù)據(jù)類型之間的轉(zhuǎn)換,比如數(shù)字轉(zhuǎn)成字符串风喇,字符串轉(zhuǎn)成布爾宁改,布爾轉(zhuǎn)成數(shù)字等
其他數(shù)據(jù)類型轉(zhuǎn)成數(shù)值
1.Number(變量)
- 可以把一個(gè)變量強(qiáng)制轉(zhuǎn)換成數(shù)值類型
- 可以轉(zhuǎn)換小數(shù),會(huì)保留小數(shù)
- 可以轉(zhuǎn)換布爾值
- 遇到不可轉(zhuǎn)換的都會(huì)返回 NaN
2.parseInt(變量)
- 從第一位開始檢查魂莫,是數(shù)字就轉(zhuǎn)換还蹲,知道一個(gè)不是數(shù)字的內(nèi)容
- 開頭就不是數(shù)字,那么直接返回NaN
- 不認(rèn)識(shí)小數(shù)點(diǎn)耙考,只能保留整數(shù)
3.parseFloat(變量)
- 從第一位開始檢查谜喊,是數(shù)字就轉(zhuǎn)換,知道一個(gè)不是數(shù)字的內(nèi)容
- 開頭就不是數(shù)字倦始,那么直接返回NaN
- 認(rèn)識(shí)小數(shù)點(diǎn)
4.除了加法以外的數(shù)學(xué)運(yùn)算(-斗遏,*,/鞋邑,%等)
- 運(yùn)算符兩邊都是可運(yùn)算數(shù)字
- 如果運(yùn)算符任何一邊不是一個(gè)可運(yùn)算數(shù)字诵次,則返回NaN
- 加法不可以用
其他數(shù)據(jù)類型轉(zhuǎn)換成字符串
1.變量.toString()
- 有一些數(shù)據(jù)類型不能使用toString()方法,比如undefined和null
2.String(變量)
- 所有數(shù)據(jù)類型都可以
3.使用加法運(yùn)算
- 在JS里面枚碗,
+
有兩個(gè)含義 - 字符串拼接:只要
+
任意一邊是字符串逾一,就會(huì)進(jìn)行字符串拼接 - 加法運(yùn)算:只有
+
兩邊都是數(shù)字時(shí),才會(huì)進(jìn)行數(shù)學(xué)運(yùn)算
-隱形轉(zhuǎn)換:10 + '' => '10'
其他數(shù)據(jù)類型轉(zhuǎn)成布爾
1.Boolean(變量)
- 在 js 中肮雨,只有
''
嬉荆、0
、null
酷含、undefined
鄙早、NaN
,這些是 false椅亚,其余都是 true
運(yùn)算符
- 就是在代碼里面進(jìn)行運(yùn)算的時(shí)候使用的符號(hào)限番,不光只是數(shù)學(xué)運(yùn)算,我們?cè)?js 里面還有很多的運(yùn)算方式
算術(shù)運(yùn)算符
-
+
- 只有符號(hào)兩邊都是數(shù)字的時(shí)候才會(huì)進(jìn)行加法運(yùn)算
- 只要符號(hào)任意一邊是字符串類型呀舔,就會(huì)進(jìn)行字符串拼接
-
-
會(huì)執(zhí)行減法運(yùn)算
會(huì)自動(dòng)把兩邊都轉(zhuǎn)換成數(shù)字進(jìn)行運(yùn)算
-
*
- 會(huì)執(zhí)行乘法運(yùn)算
- 會(huì)自動(dòng)把兩邊都轉(zhuǎn)換成數(shù)字進(jìn)行運(yùn)算
-
/
- 會(huì)執(zhí)行除法運(yùn)算
- 會(huì)自動(dòng)把兩邊都轉(zhuǎn)換成數(shù)字進(jìn)行運(yùn)算
-
%
- 會(huì)執(zhí)行取余運(yùn)算
- 會(huì)自動(dòng)把兩邊都轉(zhuǎn)換成數(shù)字進(jìn)行運(yùn)算
賦值運(yùn)算符
-
=
- 就是把
=
右邊的賦值給等號(hào)左邊的變量名 var num = 100
- 就是把 100 賦值給 num 變量
- 那么 num 變量的值就是 100
- 就是把
-
+=
var a = 10; a += 10; console.log(a); //=> 20
-
a += 10
等價(jià)于a = a + 10
-
-
-=
var a = 10; a -= 10; console.log(a); //=> 0
-
a -= 10
等價(jià)于a = a - 10
-
-
*=
var a = 10; a *= 10; console.log(a); //=> 100
-
a *= 10
等價(jià)于a = a * 10
-
-
/+
var a = 10; a /= 10; console.log(a); //=> 1
-
a /= 10
等價(jià)于a = a / 10
-
-
%=
var a = 10; a %= 10; console.log(a); //=> 0
-
a %= 10
等價(jià)于a = a % 10
-
比較運(yùn)算符
-
==
- 比較符號(hào)兩邊的值是否相等弥虐,不管數(shù)據(jù)類型
1 == '1'
- 兩個(gè)的值是一樣的,所以得到 true
-
===
- 比較符號(hào)兩邊的值和數(shù)據(jù)類型是否都相等
1 === '1'
- 兩個(gè)值雖然一樣媚赖,但是因?yàn)閿?shù)據(jù)類型不一樣霜瘪,所以得到 false
-
!=
- 比較符號(hào)兩邊的值是否不等
1 != '1'
- 因?yàn)閮蛇叺闹凳窍嗟鹊模员容^他們不等的時(shí)候得到 false
-
!==
- 比較符號(hào)兩邊的數(shù)據(jù)類型和值是否不等
1 !== '1'
- 因?yàn)閮蛇叺臄?shù)據(jù)類型確實(shí)不一樣惧磺,所以得到 true
-
>=
- 比較左邊的值是否 大于或等于 右邊的值
-
1 >= 1
true -
1 >= 0
true -
1 >= 2
false
-
<=
- 比較左邊的值是否 小于或等于 右邊的值
-
1 <= 2
true -
1 <= 1
true -
1 <= 0
false
-
>
- 比較左邊的值是否 大于 右邊的值
-
1 > 0
true -
1 > 1
false -
1 > 2
false
-
<
- 比較左邊的值是否 小于 右邊的值
-
1 < 2
true -
1 < 1
false -
1 < 0
false
邏輯運(yùn)算符
-
&&
- 進(jìn)行 且 的運(yùn)算
- 符號(hào)左邊必須為 true 并且右邊也是 true颖对,才會(huì)返回 true
- 只要有一邊不是 true,那么就會(huì)返回 false
-
true && true
true -
true && false
false -
false && true
false -
false && false
false
-
||
- 進(jìn)行 或 的運(yùn)算
- 符號(hào)的左邊為 true 或者右邊為 true磨隘,都會(huì)返回 true
- 只有兩邊都是 false 的時(shí)候才會(huì)返回 false
-
true || true
true -
true || false
true -
false || true
true -
false || false
false
-
!
- 進(jìn)行 取反 運(yùn)算
- 本身是 true 的缤底,會(huì)變成 false
- 本身是 false 的顾患,會(huì)變成 true
-
!true
false -
!false
true
自增自減運(yùn)算符(一元運(yùn)算符)
-
++
進(jìn)行自增運(yùn)算
分成兩種,前置++ 和 后置++
-
前置++个唧,會(huì)先把值自動(dòng) +1江解,在返回
var a = 10; console.log(++a); // 會(huì)返回 11,并且把 a 的值變成 11
-
后置++徙歼,會(huì)先把值返回犁河,在自動(dòng)+1
var a = 10; console.log(a++); // 會(huì)返回 10,然后把 a 的值變成 11
-
--
- 進(jìn)行自減運(yùn)算
- 分成兩種魄梯,前置-- 和 后置--
- 和
++
運(yùn)算符道理一樣
運(yùn)算符優(yōu)先級(jí)
JavaScript中的運(yùn)算符優(yōu)先級(jí)是一套規(guī)則呼股。該規(guī)則在計(jì)算表達(dá)式時(shí)控制運(yùn)算符執(zhí)行的順序。具有較高優(yōu)先級(jí)的運(yùn)算符先于較低優(yōu)先級(jí)的運(yùn)算符執(zhí)行画恰。例如彭谁,乘法的執(zhí)行先于加法。 下表按從最高到最低的優(yōu)先級(jí)列出JavaScript運(yùn)算符允扇。具有相同優(yōu)先級(jí)的運(yùn)算符按從左至右的順序求值缠局。
運(yùn)算符 | 描述 |
---|---|
.()[] | 字段訪問、數(shù)組下標(biāo)考润、函數(shù)調(diào)用以及表達(dá)式分組 |
++ ---~ ! delete new typeof void | -元運(yùn)算符狭园、返回?cái)?shù)據(jù)類型、對(duì)象創(chuàng)建糊治、未定義值 |
*/% | 乘法唱矛、除法、取模 |
+ - + | 加法井辜、減法绎谦、字符串連接 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于、小于等于粥脚、大于窃肠、大于等于、instanceof |
& | 按位與 |
^ | 按位異或 |
| | 按位或 |
&& | 邏輯與 |
|| | 邏輯或 |
?: | 條件 |
= oP= | 賦值刷允、運(yùn)算賦值 |
, | 多重求值 |