JS基礎
JavaScript是世界上最流行的腳本語言,尤其現在,電腦、手機、平闆以及無數基于H5的手機APP,互動邏輯都是用JavaScript寫的。
JavaScript是一種運作在浏覽器中的解釋型的程式設計語言。
特點:跨平台、跨浏覽器,跟Java基本沒啥關系。。。
js是門弱類型語言,在變量運算時其類型會發生隐式轉換,如:
<code> </code><code>var</code> <code>a = 12; </code><code>var</code> <code>b = </code><code>'12'</code>
<code> </code><code>console.log(a+b)</code>
<code> </code><code>結果:‘1212’類型為字元串</code>
網景公司于1995年釋出JavaScript
ECMAScript 是标準, JavaScript是具體實作
ES6 于2015.6月釋出
<code><head> </code>
<code><script></code>
<code> </code><code>alert(</code><code>'Hello,World!'</code><code>);</code>
<code></script></code>
<code></head></code>
一般将JavaScript代碼放在head标簽中,也可通過如下導入式導入.js檔案
<code><script src=</code><code>"path or link"</code><code>></script></code>
在這建議大家使用導入式
文法
語句最好以分号;結束
變量指派:var x = 1;
代碼塊用{...}
<code> </code><code>if</code> <code>(2>1) {</code>
<code> </code><code>x = 1;</code>
<code> </code><code>y = 2; </code>
<code>}</code>
同其他語言的if語句,可以進行嵌套使用
注釋://注釋内容(單行) /* ... */多行注釋
變量
1)如果定義時不用var關鍵字則此變量為全局變量
2)推薦使用變量命名法:var iMyTestValue = 123 i代表這是一個整型變量,字元串在前加s
3)首字元隻能是字母、下劃線、$符号,區分大小寫
4)不能是關鍵字
資料類型
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及‘’空字元串不一樣,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同加
本文轉自 AltBoy 51CTO部落格,原文連結:http://blog.51cto.com/altboy/1928765