Java EE之旅03 JS基礎(上)

小楠總發表於2017-12-18

###JS學習大綱

js.jpg

###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]);
	 }
複製程式碼

相關文章