1. 程式人生 > >JavaScript學習之小白篇(一)

JavaScript學習之小白篇(一)

好好學習 ,天天向上。Are you ready?在這裡插入圖片描述

一、JS概述
1. 什麼是JS?
Javascript是(基於物件)和(事件驅動)的(客戶端指令碼)語言。
2. 哪一年?哪家公司?誰?第一個名字?
1995 網景 布蘭登 livescript
3. W3C第一套標準:ECMA-262
4. js包含哪幾部分?
ecmaScript
DOM
BOM
二、如何在頁面中引入JS?
1. 行內引入指令碼(事件) 不推薦
2. 內部引入指令碼
注:外部引入時,script標籤中儘量不要寫任何內容,即使寫了,也不執行。
必須保證是雙標籤。
三、JS中輸出語句有哪些?區別是什麼?(面試)


1. alert() : 以警告框的形式輸出,如何執行alert,會中斷它後面語句的執行。常用於排錯。
2. document.write() : 在頁面中輸出,會改變當前的頁面佈局。
3. console.log() : 在控制檯中輸出F12,不會影響使用者體驗,會輸出物件的詳細資訊,是程式設計師最常用的程式碼除錯工具。
四、JS中如何實現換行?
在頁面中換行 :<br>
JS中換行:轉義字元: \ : 轉義符
\n : 換行
\t : tab(一次跳8個空格)
五、JS中資料型別有哪些?
1. 基本資料型別
Number : 3 3.14 -3
String : 只要寫在引號中的內容,都是字串,’’ “”
注:’""’ “’’” “中國”
Boolean(布林): true false 常用於判斷語句中
2. 特殊資料型別(面試)
null : 空
undefined : 未定義,也表示空
3. 複合資料型別
Object : 物件
官方: 基本資料型別: Number/String/Boolean/null/undefined
複合資料型別: Object/Array
六、JS中識別符號的命名規則?

1. 識別符號:標識一個變數、陣列、函式等的有效字元序列。
2. 命名規則:
1》 只能包含 字母、數字、下劃線、$、中文(不推薦)
2》 不能以數字開頭
3》 不能保留字或關鍵字
4》 要語義化(具有相關含義)
5》 駝峰命名
1… 大駝峰:ZhongHuaRenMinGongHeGuo 常用於類名(建構函式名)
2… 小駝峰:zhongHuaRenMinGongHeGuo
6》 匈牙利命名法:
1… int iNum : 整數
2… float fNum : 小數
3… string str : 字串
4… char ch : 字元
5… array arr : 陣列
6… function fn: 函式
7… object : obj : 物件
8… regexp : re : 正則
9… boolean : bo : 布林
七、JS中的變數與常量?

1. 什麼是變數?
在記憶體中開闢一塊空間,這塊空間是為了儲存資料,空間的名字叫變數名,而在這個空間資料會隨著程式的執行而變化,所以稱為變數。
2. 如何宣告變數?
1》顯式宣告: var 變數名,變數名,變數名;
2》隱式宣告: 變數名 = 值; (不推薦)
3. 如何給變數賦值?
1》初始化變數:宣告變數的同時給它賦值
2》先宣告,後賦值
4. 什麼是常量?
永恆不變的量。 3 ‘3’ true false
八、JS中的運算子
1. 遞增 ++ 遞減 –
運算邏輯: 從左到右,先看到變數,則先取變數中的值參與其它表示式的運算,然後再遞增或遞減。 先看到遞增遞減,則先將變數中的值 + 1 或 -1 ,再取變數中值引數其它表示式的運算。
2. 算術運算子
* : 乘
運算邏輯:
1… 數字相乘,正常相乘
2… 如果有字串,先將字串自動轉換為數字,再相乘。如果是數字字串,會轉為數字。如果有非數字字元,會轉為NaN。
3… true轉為1 , false 轉為0, null 轉為0進行計算。
4… 乘以undefined或NaN,結果都是NaN
/ : 除
運算邏輯:
1… 數字相除,正常相除
2… 如果有字串,先將字串自動轉換為數字,再相除。如果是數字字串,會轉為數字。如果有非數字字元,會轉為NaN。
3… true轉為1 , false 轉為0, null 轉為0進行計算。
4… 除以undefined或NaN,結果都是NaN
注: 非0的數除以0 ,結果為Infinity
0 除以 0, 結果為NaN
% : 模(取餘)
運算邏輯:
1… 數字相除,正常相模
2… 如果有字串,先將字串自動轉換為數字,再相模。如果是數字字串,會轉為數字。如果有非數字字元,會轉為NaN。
3… true轉為1 , false 轉為0, null 轉為0進行計算。
4… 除以undefined或NaN,結果都是NaN
- :減
運算邏輯: 同上
+ :加
1. 如果+兩邊有字串,就連線成新的字串。
2. 除第1條外,true : 1 false : 0 null : 0 計算
3. undefined,NaN ,都是NaN
3. 關係運算符
> : 大於
< : 小於
>= : 大於或等於
<= : 小於或等於
運算邏輯:
1> 數字比較: 正常比較
2> 數字與字串比較,先將字串轉為數字,再比較
3> true : 1 false : 0 null : 0
4> undefined或NaN : false
5> 兩個字串比較,從左到右,依次比較。
‘330’ > ‘33’
== : 等於
!= : 不等於
只比較結果,不看資料型別
如: 3 == ‘3’ true
=== : 全等
!== : 不全等
先比較資料型別,型別相同,再比較結果
如: 3 === ‘3’ false
切記:
null == false false
null == 0 false
null == “” false
null == undefined true
null === undefined false
NaN == NaN false
4. 邏輯運算子( 0 , false, null ,undefined, NaN, “”)
! :非
運算邏輯: 非真即假,非假即真
&& : 與
運算邏輯: &&左邊的表示式的值為true時,返回&&右邊表示式的值。&&左邊的表示式的值為false時,發生短路,返回&&左邊表示式的值。
|| : 或
運算邏輯: ||左邊的表示式的值為true時,發生短路,返回||左邊表示式的值。 ||左邊的表示式的值為false,返回||右邊的表示式的值。
5. 三元(三目)運算子 ?:
格式: 表示式1 ? 表示式2 : 表示式3
運算邏輯: 先計算表示式1的值,值為true時,執行表示式2,值為false時,執行表示式3
//根據成績判斷是升班還是留級?
var iScore = prompt(“請輸入一個成績:”,“如:100”);
alert(iScore >= 90 ? ‘升班’ : ‘留級’);
6. 賦值運算子
1》簡單賦值 =
2》複合算術賦值 += -= *= /= %=
運算邏輯: 先取運算子左邊變數中的值 與 運算子右邊表示式的值 進行相應的 算術運算,最後將運算的結果再賦值給 運算子左邊的變數。
7. 特殊運算子
1》 new : 建立物件 格式 : new 類名() 類名(建構函式名)
2》 typeof : 檢測資料型別
九、資料型別的轉換
1. parseInt(‘字串’,整數) : 將字串轉為整數。
注:1.如果字串是以有效數字開頭,則只將開頭有效整數部分轉成數字,否則轉為NaN
2. 第二個引數: 2~36 :表示前面第一個引數的進位制;如果省略第二個引數或第二個引數為0時,表示第一個引數是十進位制。如果小於2或大於36,結果都是NaN。 第一個引數不符合第二個引數的進位制時,結果也是NaN
2. parseFloat(‘字串’) : 將有效數字開頭的字串轉成小數。否則轉為NaN
3. Number(‘字串’) : 將純有效數字字串轉為數字。否則轉為NaN
4. isNaN(): 判斷引數是否為NaN,是返回true ,否則返回false
5. eval() : 將字串轉為表示式並返回表示式的值。
十、程式碼規範
1. 運算子兩邊要有一個空格
2. {}中的語句要縮排一個tab的位置
3. 嚴格區分大小寫
十一、進位制
二進位制 : 0~1 逢二進一
十進位制 : 0~9 逢十進一
八進位制 : 0~7 逢八進一
十六進位制: 09,AF 逢十六進一
十二、運算子的優先順序
! ++ – +(正) -(負) new typeof
* / %
+ -
> < >= <=
== != === !==
&&
||
?:
= *= /= %= += -=

var i=5;
var a=3;
//	 6    7     8     9
     a+=++i + ++i - i++ + i++;
// 3 += 6 + 7 - 7 + 8 a = 17