1. 程式人生 > >JS基礎-數據類型-運算符和表達式-變量和常量

JS基礎-數據類型-運算符和表達式-變量和常量

自動 char 字符串類型 變量賦值 八進制 必須 條件判斷 數組 mon

1.js的基礎語法
2.js調試
1.F12調出控制臺,查看提示錯誤及其位置。
2.出錯時只影響當前代碼塊,不會影響其他代碼塊,後續代碼塊繼續執行。
3.語法規範
1.js語句:可執行的最小單元
必須以 ; 結束
嚴格區分大小寫
ex:console.log(); //正確
Console.log(); //錯誤
所有符號必須是英文標點符號
2.js註釋
// :單行註釋
/**/ :多行註釋
4.變量和常量
1.變量
1.聲明變量
var 變量名;
ex:
var uname;
2.為變量賦值
變量名=值;
3.聲明變量時直接賦值
var 變量名=值;
註意:
1.允許在一條語句中聲明多個變量,用逗號隔開即可。
ex:
var user_name="Hanmm",user_age=18;
2.如果聲明變量,但未賦值,則值默認是undefined。
3.聲明變量時可以省略var,但不推薦。
2.變量名的命名規範
1.不允許使用關鍵字和保留關鍵詞
var const if else for while int string...
2.允許包含字母,數字,下劃線,$
3.不能以數字開頭
4.最好見名知意
ex:
var a;
var uname;
5.盡量使用"小駝峰命名法"
var uname;
var userName;//小駝峰

var UserName;//大駝峰
var user_name;//下劃線

3.變量的使用
1.聲明變量 未賦值 值默認是undefined
2.使用未聲明的變量,則 報錯。
3.取值操作-get
變量只要沒出現在=的左邊,一律是取值操作。
4.賦值操作-set
變量名出現在=的左邊,一律賦值操作。
練習:
用三個變量來保存筆記本信息:
筆記本名稱
筆記本價格
筆記本庫存
並將筆記本信息打印在控制臺:輸出格式如下:
ex:
筆記本名稱:ThinkPad E460
4.常用的使用
1.什麽是常量?
在程序中,一經聲明就不允許被修改的數據就是常量。
2.語法
const 常量名=值;
常量名在程序中,通常采用大寫形式。
ex:
const PI=3.14;
練習:
1.創建一個常量PI,賦值3.14,並打印在控制臺,
再將聲明好的常量PI的值更改為31.4,嘗試打印輸出,觀察結果。
5.數據類型
1.數據類型的作用
規定了數據在內存中所占的空間。
40:占4個字節 也就是32位
40.1
bit:位
8bit=1byte 字節
1024byte=1KB
1024kb=1MB
1024MB=1G
1024G=1T
2.數據類型詳解
1.數據類型分類
1.原始類型(基本類型)
1.Number類型
數字類型
作用:可以用來表示32位的整數,也可以是64位的浮點數(小數)。
整數:
1.十進制
由0-9的數字組成,縫十進一
var age=25;
2.八進制
由0-7的數字組成,縫八進一
八進制中以0開頭
3.十六進制
由0-9和A-F組成,縫十六進一
A:10
B:11
C:12
D:13
E:14
F:15
十六進制中以ox開頭
浮點數(小數):
小數點計數法:12.34
指數計數法:3.4e3(3.4乘以10的3次方)
2.String類型
字符串類型
作用:表示一系列的文本字符數據,如:姓名,性別,地址等。
每個字符在計算機中都有一個唯一的編碼來表示該字符,該碼稱為Unicode碼。
查找一個字符的unicode碼:
"一".charCodeAt();//默認十進制
"一".charCodeAt().toString(16);//十六進制

674e-->unicode轉換成漢字?
轉義字符:\u
其它轉義字符:
\n:換行
\t:制表符(縮進)
\":"
\‘:‘
\\:\
字符串在使用過程中,需要使用‘‘或""括起來。
3.Boolean類型
作用:在程序表示真或假的結果
取值:true或false
ex:
var isBig=true;
在參與到數字運算時,true可以當做1運算,false可以當做0運算。
ex:
var result=25+true;//結果:26

4.Undefined類型
作用:表示使用的數據不存在
undefined類型只有一個值,即undefined,當聲明的變量未賦值時,該變量的默認值是undefined。
ex:
var num;
console.log(num);//結果undefined

5.Null類型
null用於表示尚不存在的對象。
null類型只有一個值即null,如果函數或方法返回的是對象,找不到該對象時,返回的通常是null。
ex:
document.getElementById("uname");

2.引用類型
2.數據類型轉換
1.隱式(自動)轉換
不同類型的數據在計算過程中自動進行轉換。
1.數字+字符串:將數字轉換為字符串
var num=15;
var str="Hello";
var result=num+str;//15Hello
2.數字+布爾:將布爾轉換為數字
var num=15;
var isSun=true;
var result=num+isSun;//結果16
3.字符串+布爾:將布爾類型轉換為字符串
var str="Hello";
var isBig=true;--》"true"
var result=str+isBig;//結果Hellotrue
4.布爾+布爾:將布爾類型轉換數字
var isBig=true;
var isSun=false;
var result=isBig+isSun;//結果1
問題:
var num1=15;
var num2=17;
var str1="Hello";
1.str1+num1+num2
結果:Hello1517
2.num1+num2+str1
結果:32Hello
允許使用typeof()的函數檢查變量的數據類型。
2.強制轉換-轉換函數
1.toString()
將任意類型數據轉換為字符串
語法:var result=變量.toString();
ex:
var num=15;
var result=num.toString();
console.log(typeof(result));//string
2.parseInt()
將任意類型的數據轉換為整數
如果轉換不成功,結果為NaN(Not a Number)
語法:var result=parseInt(數據);
ex:
var num="123abc"; //結果123
var num1="abc123";//結果NaN
3.parseFloat()
將任意類型的數據轉換為小數
如果轉換不成功,結果為NaN。
語法:var result=parseFloat(數據);
4.Number()
將任意類型的數據轉換為number
註意:如果包含非法字符,則返回NaN
語法:var result=Number(數據);
練習:
1.彈出一個輸入提示框,輸入金額,並保存在變量money中
ex:
var money=prompt("請輸入金額:");
2.將money+10,再打印輸出加10後的結果
3.註釋掉第2步,使用typeof()檢查money的類型。
4.將money轉換為數字,再+10打印輸出。
6.運算符和表達式
1.表達式:由運算符和操作數組成的式子就是表達式
任何一個表達式一定會有結果。
ex:
15+17
var x=y=10;
17<15
2.運算符
1.算術運算符
+,-,*,/,%,++,--

5%2=1 5模2 余數是1
++:自增,只做+1操作
++在前,先自增,再運算
++在後,先運算,再自增
--:自減,只做-1操作
--在前,先自減,再運算
--在後,先運算,再自減
ex:
var num=5;
console.log(num++);//5
console.log(++num);//7
練習:
var num=5;
5 (6)6 6(7)
var result=num + ++num + num++ + ++num + num++ +num; 結果:42
(8)8 8(9) 9
2.關系運算符(比較運算符)
>,<,>=,<=,==,!=,===,!==
運算結果為:boolean類型(true,false)
問題:
1.5>"10" 結果:false
關系運算符兩端,只要有一個是number的話,另外一個會隱式轉換為number,再進行比較。
2."5">"10" 結果:true
關系運算符兩端,如果string的話,則比較每位字符的unicode碼,以unicode碼不相等的兩個字符比較結果作為整體結果。
"張三豐">"張無忌" 結果:false
"三".charCodeAt();
"無".charCodeAt();
3."3a">10 結果:false
Number("3a")--->NaN
NaN
註意:
NaN與任何一個數據做比較運算時,結果都是false。

NaN與任何數據做!=,結果永遠都是true。

NaN與任何數據做==,結果永遠都是false.
isNaN()函數:
作用:判斷指定數據是否為非數字,如果不是數字,返回值為true,是數字的話返回值為false。

3.邏輯運算符
邏輯運算符:&&,||,!
!:取反
&&:並且,關聯的兩個條件都為true時,整個表達式的結果為true。
||:或者,關聯的兩個條件,只要有一個為true,整個表達式的結果為true。

短路邏輯與:&& 做條件判斷
當第一個條件為false時,整體表達式的結果就是false,不再判斷或執行第二個條件。
當第一個條件為true時,會繼續判斷或執行第二個條件。
短路邏輯或:||
當第一個條件true時,就不再執行後續表達式,整體結果為true。
當第一個條件false時,繼續執行第二個條件或操作。
4.位運算符
<<,>>,&,|,^
右移是把數字變小,左移是把數字變大
按位與:& 判斷奇偶性
任意數字與1做按位與 ,結果為1,則為奇數,結果為0,則為偶數。
var num=323;
var result=num & 1;
console.log(result);
按位或:| 對小數取整
將任意小數與0做按位或,結果則取整數部分。
var num=123.45;
var result=num | 0;
console.log(result);
按位異或:^ 用於交換兩個數字
var a=3;
var b=5;
a=a^b;
b=b^a;
a=a^b;
console.log(a);
console.log(b);
二進制位數,逐位比較,不同則為1,相同則為0。

練習:
聲明兩個變量,分別保存兩個整數。
用異或實現數字的換位。
輸出方式如下:
console.log("換位前a:"+a);

console.log("換位後a:"+a);


JS基礎-數據類型-運算符和表達式-變量和常量