天天看點

第一 、二章:HTML基礎第一章:javascript第二章:JavaScript基礎文法

第一章:javascript

簡介:

• Java是sun公司開發的一種面向對象的程式開發語言,主要用來開發軟體,是傳統的程式設計語言,需要“編寫-編譯-連結-運作“。而JS腳本語言,隻需經過”編寫-運作”兩個步驟。

• JavaScript 是一種基于對象和事件驅動并具有安全性能的腳本語言,是一種計算機用戶端腳本語言/解釋性腳本語言,主要在浏覽器解釋執行。本身不進行預編譯。創作目的就是為了分擔伺服器的負擔,減少與伺服器互動所占用的時間。

編譯就是把進階語言變成計算機可以識别的2進制語言。
	如:C語言中的代碼:printf(“hello world”);轉換為:10101010010………………
           

使用JavaScript實作網頁的互動與動态效果。如淘寶網頁的動态廣告效果。

  • html:頁面結構。
  • css:頁面樣式
  • javascript:頁面行為(動态效果)(能把下拉效果做的更簡潔更炫)

    使用var關鍵字進行變量的定義

    變量的類型取決于變量裡面存儲的值

    變量命名:

    1. JavaScript變量名區分大小寫

    2. 變量名不能以數字開頭

    3. 變量名不能使用關鍵字,保留字

    4. 單個單詞的變量名,就都小寫, 多個單詞構成的變量,

    5. 第一個單詞首字母小寫,後面的單詞首字母大寫的

    6. 不能使用拼音的命名方式

特點:

• 動态類型:不用給變量指定資料類型

var num;				//定義一個變量,變量名為num
num=1;					//此時變量類型是Number類型,變量值為1
num="hello world"		//此時變量類型是String類型,變量值為 hello world
           

• 弱類型: 一個變量可以賦不同類型的值

num=1;					//此時變量類型是Number類型,變量值為1
num="hello world"		//此時變量類型是String類型,變量值為 hello world
           

• 簡單性—— 解釋性語言,不需要編譯,友善調試

• 跨平台性—— 依賴浏覽器本身,與操作環境無關

• 必要性—— 主流浏覽器統一支援的語言

• 相容性差—— 因為依賴于浏覽器執行,是以受各浏覽器影響,相容性較差。

alert:(全名windows.alert())

提示資訊,在浏覽器中彈出一個提醒框

<script type=“text/javascript”>
		     alert( ‘Hello JavaScript’ );
</script>

解釋:
<script>标簽表示這是一段腳本語言,具體類型type=“text/javascript”
在 HTML 檔案中,任何 JavaScript 代碼必須放到 <script> 标簽中
<script>通常放在<head>之中、<body>之後

           

外部JavaScript檔案:

把JavaScript代碼放到外部檔案中,在HTML代碼中直接引入該檔案

外部檔案名稱定義為:檔案名.js

外部檔案可以在HTML中的 head 或 body 中引入

一次定義可以重複使用

外部腳本檔案中,不能含有script标簽,隻能含有javaScript代碼

//這是内部JavaScript檔案的代碼
<!DOCTYPE html>
<html lang="en">
<head>
		<meta charset="UTF-8">
		<title>Web開發-第一章</title>
		<script src="第一章-1.js"></script>
			//引入外部檔案時,HTML 檔案的 script标簽中間不能寫 任何JavaScript 代碼。
			//即上面一行代碼标簽中間不能有任何東西。
		<script type="text/javascript">
			alert('這是内部js檔案的代碼');
		</script>
</head>
<body>
</body>
</html>


//這是"第一章-1.js"外部引用的javascript檔案的代碼
alert("這是第一章的外部的js檔案");
           

第二章:JavaScript基礎文法

文法特點:

• 弱類型::變量的資料類型可以任意轉換

• 動态類型::變量聲明建立時不用指定資料類型

• 語句塊:多個語句可放在 “{ }”内,形成一個語句塊

JavaScript 輸出内容的3種方式:

  1. document.write( )
    //頁面輸出内容(在網頁内容中直接顯示)
    //裡面可以放html标簽并正常使用,但是标簽必須在雙引号裡面。
               
  2. console.log( )
    //控制台輸出(浏覽器打開後按F12進入控制台模式)
               
  3. alert( )
    //彈出框輸出
               
三種輸出方式
		alert("hello world");				//彈框
		console.log("welcome")				//控制台
		document.write("hello world<br/>");	//頁面輸出
		//document.writeln會自動加空格,不能換行,換行用<br/>
		document.write("<a href='https://www.bing.com'>必應</a> ");
		document.write("<br/>");
		document.write("<button>按鈕</button>");
           

JavaScript 變量及内置資料類型

使用關鍵字var建立變量,區分大小寫,隻能以字母 ,-, $這三種形式打頭

JavaScript 為動态類型語言,聲明變量時,不需指明資料類型

JavaScript 原始資料類型

一共有五種:Number、String、Boolean、Undefined、Null

• string用單雙引号括起來

• Boolean(布爾類型)隻有兩種情況true與fals

• Undefined隻有一個值 undefined 指聲明了但未指派的變量

• Null 隻有一個值null,表示值為空。null不等同于空的字元串 (“”) 或 0。

• NaN: 一個沒有意義、不正确的數值,目前變量不是數字。

//判斷變量在某一時刻的資料類型,使用  typeof  運算符
		var num1 = 9;		//number
		var num2='numm';	//string
		var num3=true;		//boolean(true/fals)
		var num4;			//undefined(一個隻聲明,沒有指派的變量)
		var num5=null;		//null(隻是一個“為空的‘值’ ”)類型為object,空對象
		var num6=NaN;		//NaN一個無意義錯誤的數值,類型為number
           
var num;//定義變量num
num=1;//變量num指派時類型也随之确定,為Number形
console.log(typeof(num))//通過控制台console.log()輸出typeof資訊。

JavaScript 是弱類型語言(弱類型是指不同類型的變量之間可以互相指派,但在某一時刻,一個變量隻存在某一種資料類型)
獲得字元串長度:console.log(變量名.length)
//通過控制台輸出長度
判斷變量在某一時刻的資料類型,使用  typeof  運算符
           

• 認識 NaN (Not a Number)

 表示一個沒有意義、不正确的數值,目前變量不是數字。

 與自身不相等

• 認識 isNaN( ) 函數

 用來檢測參數是否為 NaN 值

 參數是 “NaN” 時傳回 true,否則傳回 false

"+"運算符

+兩邊是數字時,結果是兩個數值的運算結果

+兩邊時字元串時,結果是兩個字元串的拼接

var num1=1, num2=2, num3="3";
var num12,num13;
num12=num1+num2//num12=3,類型為Number
//兩邊都是數字,進行純數值運算
num13=num1+num3//num13="13" 類型為String
//一邊是數字,一邊是字元轉,預設進行字元串的拼接
           

比較運算符

==:兩邊隻要數值相同就為true(不管類型)

===:兩邊的類型和值都必須相同時為 true

var num1=10;
		var num2=10;
		var str1="10";
		//     ==判斷變量數值是否相同,不管類型
		console.log(num1==num2);
		console.log(num1==str1);
		//   ===先判斷類型,後判斷類型
		console.log(num1===num2);
		console.log(num1===str1);
		console.log(num1===str1 ? "111":"222");
		//() 算術 關系 指派
           
第一 、二章:HTML基礎第一章:javascript第二章:JavaScript基礎文法

**

都不會改變原值,但是會傳回新的結果

**

隐式轉換

1.	 轉換成 String 類型:  用 + 連接配接
2.		var num1=123,num2="welcome";
3.		var num3=num1+num2;//num3="123welcome"
4.	 轉換成 Boolean 類型:  變量前面加 !!  (雙感歎号)
5.		var num1=1;//Number類型
6.		num1=!!num1//Boolean類型
7.	    var u1 = undefined;
8.		var n1 = null;
9.	    var  num3 = u1 + 0; //NaN
10.	    var  num4 = n1 + 0; //0
           

強制類型轉換

• Boolean(value) - 把給定的值轉換成 Boolean 型;

• Number(value) - 把給定的值轉換成數字(可以是整數或浮點數);

• String(value) - 把給定的值轉換成字元串;

• 還有parseInt(),parseFloat(),Number();

var num=NULL;//num類型為空
num=Boolea(num)//num類型Boolean
num=Number(num)//num類型Number
num=String(num)//num類型String
           

轉字元串類型

原類型+ “ ”     
//(原類型+空符串,屬于隐式轉換)
String()
//強制顯性轉換
           

轉數字類型

parseInt() , parsefloat()
//字元串轉數字
//僅對原類型為string的變量有效,當其無效時傳回NaN
number()
//強制顯性轉換
           

轉布爾類型

!!變量名
//隐式轉換
Boolean( ) 
 //強制轉換為 Boolean 類型:
           

其他注意事項&&零碎知識點

• “-、*、/、%” 左右出現字元串(布爾)時,将字元串(布爾)轉換為數值類型

• 比較運算符左右出現字元串(布爾),會轉換為數值類型

• 邏輯運算符會将資料類型轉換為布爾類型之後再做運算

• 算術運算符會自動将布爾轉換為數字

• 程式 = 資料 + 算法

• &nbsp 空格

var num1=10;
		var num2=10;
		var str1="10";
		//     ==判斷變量類型是否相同
		console.log(num1==num2);
		//   ===先判斷類型,後判斷類型
		console.log(num1===num2);
		console.log(num1===str1);
		console.log(num1===str1 ? "111":"222");
		//輸出結果:
		// true
		// true
		// true
		// false
		// 222





		var a="123.456.img";
		var a1=parseInt(a);
		var a2=parseFloat(a);
		document.write("a1="+a1+"<br/>"+"a2="+a2+"<br/>");
		document.write(typeof a2+"<br/>");
		var b=3.123456;
		var b1=b+"";
		document.write(typeof(b1)+"<br/>");
		b1=Number(b1);
		document.write(typeof(b1)+"<br/>");
		var c="img"+3+".aaa";
		var c1=!!c;		隻要c不為null,傳回值都是true;
		document.writeln(typeof(c)+"<br/>");
		document.writeln(typeof(c1));		
		

		輸出結果
		a1=123
		a2=123.456
		number
		string
		number
		string
		boolean
           
var num=1;
		switch(num)
		{
			case"num>0":
			document.write("num>o");
			case"num==0":
			document.write("num=o");
			case"num<0":
			document.write("num<o");
			case 1:
			document.write("1");
			default:
			document.write("what are you 能啥類");
		}
		//輸出結果 1 what are you 能啥類
           

通過document.write();寫表格

document.write("<table  align='center' >");
		//寫入tr标記
		for(var i=0;i<6;++i)
		{
			document.write("<tr>");
			for(var j=0;j<6;++j)
			{
				document.write("<td>");
				document.write("&nbsp;&nbsp");
				document.write("</td>");
			}
			document.write("</tr>");
		}
		document.write("</table>");
           
document.write("<table  align='center'>");
		for(var num1=0;num1<6;++num1){
			document.write("<tr>");
			for(var num2=0;num2<6;++num2){
				document.write("<td>");
				document.write("&nbsp;&nbsp;11&nbsp;&nbsp;");
				document.write("</td>");
			}
			document.write("</tr>");
		}
		document.write("<table>");