JavaScript小白入門篇——直接量、變量、數據類型、運算符

JavaScript語法規則:

(1)每一條JavaScript語句都是一條發送給瀏覽器的指令

(2)JavaScript區分大小寫

(3)所有特殊符號均爲英文半角

(4)代碼對空格、換行、縮進不敏感

1 直接量

直接量:又叫字面量,能夠直接使用的內容,常見有的數值、字符串。

(1)數值:1,2,3,1.1,2.2,1.1,-1等

(2)字符串:程序中被單雙引號包裹起來的的內容,都是字符串"hello wold"  'hello'  "你好"  '我好'...

(3)其它字面量:true  false  null   正則表達式

更多說明:alert("hello wolrd");//彈出警告框,內容爲字符串字面量

alert(hi);alert(123);alert(true);

2 變量

變量:變化的量,將數據保存在內存中,存儲數據。

(1)變量聲明 var a;  

var爲變量聲明的關鍵字,a爲變量;

(2)變量命名規則

區分大小寫;變量名必須以字母、下劃線或者$開頭;變量的組成可以由字母、下劃線、$或數字;不能使用關鍵字和保留字

(3)變量的賦值 

var a = 10;變量名=值;

(4)取出變量的值:使用變量名

(5)變量允許重複賦值

更多說明:

var a;//定義一個變量,並且命名爲a

var A;

var $a;

var _a;

a=10; //將10賦值給變量a

alert(a);


alert(123);//數值123

alert('123');//字符串123


var a='hello';

console.log(a);//在控制檯輸出

console.log('world');


var a=10;//在內存中開闢空間,並且命名爲a,然後將數據10存入開闢的空間中

console.log(a);

alert(a);

a=30;//變量的重複賦值

console.log(a);//就近原則


var a=10;

var b=20;

console.log(a,b);

var c=a;//將a變量的值賦值給變量c        變量值的傳遞

console.log(c);//c爲10

a=30;

console.log(a,c);//變量a和c是獨立的空間,a爲30,c爲10

c='hello';

console.log(c);//c爲hello

3 數據類型

JavaScript是一門弱類型語言,在聲明變量時,是沒有數據類型的,一旦賦值之後,變量便有了數據類型。

(1)數值類型 number : 1,2,3,1.1,1.1111,-1  等

(2)字符串類型  string :被單雙引號所包裹的內容  ""  '' 例如:'hello' 'world' '12' '1.2'

注意:字符串類型會原樣輸出   "3+5"  "^&(*(^*&^*(&(*%^*&&(&"

(3)布爾類型 boolean :true(真)  false(假)

(4)其它數據類型:  

undefined  (未定義)    當一個變量只聲明未賦值時,類型未undefined

null (空)  

Object(對象類型、引用類型)

(5)判斷變量的數據類型typeof

注意:類型檢測的結果本身又是字符串類型 

console.log(typeof typeof a ) ; //值爲:string

(6)基本數據類型(原始數據類型):number  boolean  string  undefined  null

(7)引用類型:Object  Function RegExp Array Date........

更多說明:

var a=10;//聲明數值類型

var b='hello';//聲明字符串類型

var c=typeof a;//"number"

var d=typeof b;//"string"

console.log(typeof c);//輸出了一個表達式,本質爲輸出這個表達式的運算結果//string

console.log(typeof typeof a);//string

console.log(typeof typeof b);//string


var a=true;//聲明一個布爾類型

var b=false;

console.log(typeof a);//boolean

console.log(typeof b);//boolean


var a;

console.log(a);//未定義 輸出值爲undefined

console.log(typeof a);//變量只聲明,未賦值 輸出值爲undefined


//1.未定義,直接輸出   值爲error

console.log(a);//error  

//2. 變量只定義,未賦值   值爲undefined

var a;

console.log(a);//值爲undefined

console.log(b);

var b;//值爲undefined

//3. 變量未定義,直接賦值,可以使用

a=20;

console.log(a);//值爲20

//4.變量提升機制

a=10;

var a;

console.log(a);//值爲10

//等同於如下代碼    不推薦使用上述做法

var a;

a=10;

console.log(a);

5.var c=null;//空  什麼都沒有

console.log(typeof c);//引用類型  "object"

console.log(typeof typeof c);//值爲string

var a=123;

console.log(typeof a);//值爲number

console.log(typeof 123);//值爲number

6.var a=NaN;// not a number

console.log(typeof a);//值爲number

7.賦值語句遵循順序結構

console.log(a);//undefined   

var a=20;

console.log(a);

//以上代碼等同於

var a;

console.log(a);

a=20;

8.聲明多個變量,多個變量之間用逗號隔開

var a,b,c;

a=10;

b=20;

c=30;

console.log(a,b,c);

var a1=10,a2=20,a3=50;

console.log(a1,a2,a3);

var b1,b2=10,b3;

console.log(b1,b2,b3);

4 運算符

1.運算符根據運算符兩邊操作數的不同,分爲:一元運算符、二元運算符、三元運算符

2.按照功能不同分爲:

(1)算術運算符:+(加法運算) -(減法運算) *(乘法運算) /(除法運算)%(取餘運算)

一元運算符:++自增運算符 --自減運算符

運算符後置和前置:不出現賦值時,執行自增自減運算;出現賦值時,先賦值,後運算

注意:若+運算符兩邊的操作數只要有一個爲字符串,則執行拼接操作

(2)賦值運算符:=  +=  -=  *=  /=  %=

(3)關係運算符(比較運算符):> <  ==  >=  <=   !=  ===(真等於,全等)  !==

關係運算符的運算結果爲布爾類型true、false

注意:==只比較數值是否相等  ===不僅比較數值是否想等,還比較數據類型

(4)邏輯運算符:邏輯運算符的運算結果爲布爾類型  true  false

|| (邏輯或):當兩邊的表達式運算結果有一個爲真(true),則結果即爲真(true),兩邊均爲假(false),則爲假

&&(邏輯與):僅當運算符兩邊的表達式結果均爲真(true),則運算結果才爲真(true)

!(非):取反


更多說明:

var a=10;

var b=20;

var c=a+b;

console.log(c);

console.log(a+b);

console.log(a*b);

console.log(a/b);//0.5

console.log(a-b);

console.log(a%b);//餘數


var a=0.1;

var b=0.2;

console.log(a+b);//0.3000...000004

爲什麼操作小數會出現誤差?
浮點數值的最高進度是17位小數,但在進行運算的時候其精確度卻遠遠不如整數;整數在進行運算的時候都會轉成10進制; 而Java和JavaScript中計算小數運算時,都會先將十進制的小數換算到對應的二進制,一部分小數並不能完整的換算爲二進制,這裏就出現了第一次的誤差。待小數都換算爲二進制後,再進行二進制間的運算,得到二進制結果。然後再將二進制結果換算爲十進制,這裏通常會出現第二次的誤差。

浮點數值的最高進度是17位小數,但在進行運算的時候其精確度卻遠遠不如整數;整數在進行運算的時候都會轉成10進制; 而Java和JavaScript中計算小數運算時,都會先將十進制的小數換算到對應的二進制,一部分小數並不能完整的換算爲二進制,這裏就出現了第一次的誤差。待小數都換算爲二進制後,再進行二進制間的運算,得到二進制結果。然後再將二進制結果換算爲十進制,這裏通常會出現第二次的誤差。所以(0.1+0.2)!=03


var a='hello';

var b='world';

console.log(a+b);//字符串拼接

console.log('5'+3);//53

console.log(5+5+'3');//103   string

console.log('5'+5+3);// '55'+3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章