標籤:javascript 變數 資料類型 邏輯運算 文法
JS基礎
JavaScript是世界上最流行的指令碼語言,尤其現在,電腦、手機、平板以及無數基於H5的手機APP,互動邏輯都是用JavaScript寫的。
JavaScript是一種運行在瀏覽器中的解釋型的程式設計語言。
特點:跨平台、跨瀏覽器,跟Java基本沒啥關係。。。
js是門弱類型語言,在變數運算時其類型會發生隱式轉換,如:
var a = 12; var b = ‘12‘ console.log(a+b) 結果:‘1212’類型為字串
網景公司於1995年發布JavaScript
ECMAScript 是標準, JavaScript是具體實現
ES6 於2015.6月發布
<head> <script> alert(‘Hello,World!‘);</script></head>
一般將JavaScript代碼放在head標籤中,也可通過如下匯入式匯入.js檔案
<script src="path or link"></script>
在這建議大家使用匯入式
文法
語句最好以分號;結束
變數賦值:var x = 1;
代碼塊用{...}
if (2>1) { x = 1; y = 2; }
同其他語言的if語句,可以進行嵌套使用
注釋://注釋內容(單行) /* ... */多行注釋
變數
1)如果定義時不用var關鍵字則此變數為全域變數
2)推薦使用變數命名法:var iMyTestValue = 123 i代表這是一個整型變數,字串在前加s
3)首字元只能是字母、底線、$符號,區分大小寫
4)不能是關鍵字
650) this.width=650;" width="1200" height="823" title="877318-20161020152532717-389530735.png" style="width:596px;height:238px;" src="https://s3.51cto.com/wyfs02/M02/96/A9/wKiom1kkHpeghwdCAAOMaY27kIg986.png" alt="wKiom1kkHpeghwdCAAOMaY27kIg986.png" />
資料類型
Number:js中不區分整數和浮點數 12;3.14;-321;1.5e3 ...都是Number類型
NaN:not a number 注意:NaN == NaN 為false isNaN(NaN); 結果為:true
Infinity:表示無限大
字串:‘abc’、‘123’等都是字串
布爾值:false、true (python中為:True、False)
注意:‘25’ > 3 的結果為false,比較時先拿‘25’中的‘2’的ASCII值與‘3’的ASCII值進行比較
邏輯運算
&&:與運算 true && true 結果為true true && false 結果為false
||:或運算 false || true 結果為true
!:非運算 !true 結果為false
比較運算
> 、< 、>= 、<=、==(自動轉換資料類型再比較)、===(絕對等於,不會轉換類型)
注意: 1/3 === (1- 2/3); 結果為:false 因為浮點數在運算過程中會產生誤差
null和undefined
null表示一個“空”,與0及‘’Null 字元串不一樣,undefined表示未定義,即聲明了,但為賦值
數組
數組是一組按順序排列的集合,每個值稱為元素
[1,2,999,‘hello‘,null,true]是一個數組,其類型為Array
也可以通過new Array(1,2,3)建立數組[1,2,3]
可以通過索引值來訪問數組元素
資料類型轉換
JavaScript屬於鬆散類型的程式語言
變數在聲明的時候並不需要指定資料類型
變數只有在賦值的時候才會確定資料類型
運算式中包含不同類型資料則在計算過程中會強制進行類別轉換
數字 + 字串:數字轉換為字串
數字 + 布爾值:true轉換為1,false轉換為0
字串 + 布爾值:布爾值轉換為字串true或false
強制類型轉換
函數parseInt:強制轉換成整數 如:parseInt("6.12") = 6
parseFloat:強制轉換成浮點數
函數eval:將字串強制轉換成運算式並返回結果(同Python)eval("1+1") = 2
自增、自減運算子
i++:先引用i的值,再i自增1,++i正好相反
i--、與--i同加
JavaScript基礎部分