JavaScript是什麼?javascript
是一門腳本語言(不須要編譯,直接執行)html
是一門解釋性語言前端
是一門動態類型的語言java
是一門基於對象的語言瀏覽器
JavaScript分爲三個部分函數
1.ECMAScript 標準----js的基本語法spa
2.DOM---Document Object Model 文檔對象模型(一套操做頁面元素的API)code
DOM能夠把HTML看做是文檔樹,經過DOM提供的API對樹上的節點進行操做htm
3.BOM---Browser Object Model 瀏覽器對象模型(一套操做瀏覽器功能的API)對象
經過BOM操做瀏覽器窗口,好比(彈出框,控制瀏覽器跳轉,獲取分辨率等)
JavaScript和HTML、CSS的區別
一、HTML:提供網頁的結構,提供網頁中的內容
二、CSS:用來美化網頁
三、JavaScript:能夠用來控制網頁內容,給網頁增長動態的效果
JavaScript的書寫位置
1.寫在行內
<input type="button" value="按鈕" onclick="alert('Hello World')" />
2.寫在script標籤中
<head> <script> alert('Hello World!'); </script> </head>
3.寫在外部js文件中,在頁面引入
<script src="main.js"></script>
js代碼須要注意的問題
在一對javascript標籤的代碼中有錯誤的代碼時,那麼在錯誤代碼後的js代碼都不會執行
若是第一對Script中有錯誤的代碼,不會影響後面的Script標籤中的js代碼執行
var age;
var age; age = 18;
同時聲明多個變量
var age, name, sex; age = 10; name = 'zs';
同時聲明多個變量而且賦值
var age = 10, name = 'zs';
變量的命名規則和規範
規則--必須遵照的,不遵照會出現報錯
由字母、數字、下劃線、$符號組成,不能以數字開頭
不能用關鍵字和保留字,例如for、while。
區分大小寫
規範--建議遵照,不遵照不會報錯
變量名必須有意義
遵照駝峯命名法,首字母小寫,後面單詞的首字母大寫
數據類型
在源代碼中一個固定值的表示法
數值的字面量:8,9,0
字符串字面量:「前端」,「小田」
布爾字面量:true,false
NaN: not a numberNaN與和任何值都不相等,包括它自己is NaN: is not a number注意:不要用小數驗證小數不要使用NaN判斷是否是NaN,應該使用is NaNvar num; console.log(num+10==NaN);//---false
num+10不是一個數字 NaN 倆個不是數字的值沒法判斷相等
如何驗證這個結果是否是NaN,應該使用isNaN()//使用isNaN()驗證是一個數字時,結果爲false
使用isNaN()驗證不是一個數字時,結果爲true須要表示十進制:正常數字須要表示八進制:以0開頭須要表示十六進制:0x開頭
字符串的長度:使用length屬性能夠獲取字符串的長度
字符串的拼接:使用+鏈接倆邊只要有一個是字符串,那麼+就是字符串拼接功能
倆邊若是都是數據,那麼就是算數功能
什麼狀況下結果爲undefined?變量聲明瞭,沒有賦值函數沒有明確返回值,若是接受了,結果是undefined若是一個變量的結果是undefined和一個數字進行計算,結果:NaN,不是一個數字,也沒有意義
var age = 18; console.log(typeof age); // 'number'
console.log(typeof(age));
數據類型轉化
如何使用谷歌瀏覽器,快速的查看數據類型?
字符串的顏色是黑色的,數值類型是藍色的,布爾類型也是藍色的,undefined和null是灰色的
.toString();
var num = 5; console.log(num.toString());
String();
若是變量是有意義--調用.toString()使用轉換
若是變量沒有意義--使用String()轉化
var num2;//值爲undefined,無心義 console.log(num2.toString()); var num3=null; console.log(num3.toString());//以上會報錯 這個能夠 var num2; console.log(String(num2)); var num3=null; console.log(String(num3));
Number();轉數字
Number()能夠把任何值轉化成數值,若是要轉換的字符串中有一個不是數值的字符,返回NaN
parseInt();轉整數
var num1 = parseInt("12.3abc"); // 返回12,若是第一個字符是數字會解析知道遇到非數字結束 var num2 = parseInt("abc123"); // 返回NaN,若是第一個字符不是數字或者符號就返回NaN
parse Float();轉小數
parseFloat()把字符串轉換成浮點數
parseFloat()和parseInt很是類似,不一樣之處在與
parseFloat會解析第一個. 遇到第二個.或者非數字結束
若是解析的內容裏只有整數,解析成整數
+,-0等運算
var str = '500';
console.log(+str); // 取正
console.log(-str); // 取負
console.log(str - 0);
Boolean()
0 ''(空字符串) null undefined NaN 會轉換成false 其它都會轉換成true
操做符
一些符號---用來計算
算數運算符:+ - * / %
算數運算符表達式:由算數運算符鏈接起來的表達式
只有一個操做數的運算符 ++ --
++ 自身加一
-- 自身減一
說明:var num=1; ++num以後num的值爲2,++num的值2
num++以後的num值爲2,num++的值爲1
表達式1 ? 表達式2 : 表達式3
是對if……else語句的一種簡化寫法
複合運算表達式:由複合運算符鏈接起來的表達式
關係運算符:> < >= <= ==不嚴格的 ===嚴格 !=不嚴格的不等,!==嚴格的不等
關係運算表達式:由關係運算符鏈接起來的表達式
關係運算表達式的結果是布爾類型
邏輯運算符:
&&:與 倆個操做數同時爲true,結果爲true,不然都是false
|| : 或 倆個操做數有一個爲true,結果爲true,不然爲false
!: 非 取反
賦值運算符
= += -= *= /+ %=
例如: var num = 0; num += 5; //至關於 num = num + 5;
優先級從高到底 1. () 優先級最高 2. 一元運算符 ++ -- ! 3. 算數運算符 先* / % 後 + - 4. 關係運算符 > >= < <= 5. 相等運算符 == != === !== 6. 邏輯運算符 先&& 後|| 7. 賦值運算符