###JS學習大綱

###JS簡介
####1、js是什麼
js是可以嵌入到html中,是 基於物件 和 事件驅動 的 指令碼語言(不用編譯(解釋性語言),可以嵌入其它語言)
特點:
(1)互動性
(2)安全性:js不能訪問本地磁碟
(3)跨平臺:瀏覽器中都具備js解析器
複製程式碼
####2、js能做什麼
(1)js能動態的修改(增刪)html和css的程式碼
(2)能動態的校驗資料
複製程式碼
####3、js歷史及組成
JS最初由網景公司創造,JS基本組成包括:
1)核心(ECMAScript):描述了JS的語法和基本物件
2)瀏覽器物件模型(BOM):與瀏覽器互動的方法和介面
3)文件物件模型 (DOM):處理網頁內容的方法和介面
ECMAScript:ECMAScript,正式名稱為 ECMA 262 和 ISO/IEC 16262,是宿主環境中指令碼語言的國際 Web 標準。 ECMAScript 規範定義了一種指令碼語言實現應該包含的內容;但是,因為它是可擴充的,所以其實現所提供的功能與這個最小集相比可能變化很大。
ECMAScript 是一種開放的、國際上廣為接受的指令碼語言規範。 它本身並不是一種指令碼語言。正如在 Web 應用程式中執行有用操作的 bean 集合(例如,Netscape 的 AWT)是 Sun 的 JavaBean 規範的一種實現一樣,JavaScript 是 ECMAScript 規範的一種實現。
複製程式碼
4、js被引入的方式
(1)內嵌指令碼
<input type="button" value="button" onclick="alert('xxx')" />
(2)內部指令碼
<script type="text/javascript">
alert("xxx");
</script>
(3)外部指令碼
首先先建立一個js檔案
其次在html中引入
<script type="text/javascript" src="demo1.js"></script>
js程式碼放在哪?
放在哪都行 但是在不影響html功能的前提下 越晚載入越好
(頁面一下載就需要JS程式碼除外,例如ajax讀取資料庫)
複製程式碼
###js基本語法
####1、變數
(1)弱型別
var x = 5;
x = 'javascript';
var y = "hello";
var b = true;
(2)全域性變數的定義
x = 5;
複製程式碼
####2、原始資料型別
(1)number:數字型別
(2)string:字串型別
(3)boolean:布林型別
(4)null:空型別
(5)underfind:未定義
注意:number、boolean、string是偽物件
型別轉換:
number\boolean轉成string
toString();
string\boolean轉成number
parseInt()
parseFloat()
boolean不能轉
string可以將數字字串轉換成number 如果“123a3sd5” 轉成123
強制轉換
Boolean() 強轉成布林
數字強轉成布林 非零就是true 零就是false
字串強轉成布林 非“”(空字串)就是true 空字串“”就是false
Number() 強轉成數字
布林轉數字 true轉成1 false轉成0
字串轉數字 不能強轉
複製程式碼
####3、引用資料型別
這裡主要與Java做一個比較:
java: Object obj = new Object();
js: var obj = new Object();
var num = new Number();
複製程式碼
####4、運算子
(1)賦值運算子
var x = 5;
(2)算數運算子
+ - * / %
+: 遇到字串變成連線
-:先把字串轉成數字然後進行運算
*: 先把字串轉成數字然後進行運算
/: 先把字串轉成數字然後進行運算
(3)邏輯運算子
&& ||
(4)比較運算子
< > >= <= != ==
===:全等:型別與值都要相等(注意)
(5)三元運算子
3<2?"大於":"小於"
(6)void運算子(主要作用是:防止a標籤跳轉)
<a href="javascript:void(0);">xxxxxx</a>
(7)型別運算子
typeof:判斷資料型別 返回我的資料型別
instanceof:判斷資料型別 是否是某種型別
例子:
var obj = new Object();
alert(typeof obj);//object
alert(obj instanceof Object);//true
複製程式碼
####5、邏輯語句
這裡與Java一樣,不再贅述。
(1)if-else
//條件:
//數字非0 字串非空====true
if(9){
alert("true--");
}else{
alert("false--");
}
(2)switch
var x = "java";
switch(x){
case "css":
alert("css");
break;
case "js":
alert("js");
break;
case "java":
alert("java");
break;
default:
alert("def");
}
(3)for
for(var i = 0;i<5;i++){
alert(i);
}
(4)for in
var arr = [1,3,5,7,"js"];
for(index in arr){//index代表下標
//alert(index);
alert(arr[index]);
}
複製程式碼