標籤:obj htm 連結 匈牙利 tar blank ack pre html標籤
一、什麼是JavaScript?
再講JS的基礎之前,先讓我們瞭解一下什麼是JS吧。
JS,全稱JavaScript。是t一種直譯式指令碼語言,是一種動態類型、弱類型、基於原型的語言,內建支援類型。它的解譯器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於用戶端的指令碼語言,最早是在HTML(標準通用標記語言 (SGML)下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。
二、使用JS的三種方式
1、在HTML標籤中直接內嵌JS():並不提倡使用。
<button onclick="alert(‘小婊砸!你真點啊!‘)">有本事點我啊!!</button>
>>>不符合w3c內容與行為分離的要求!!!
2、在html頁面中使用<script></script>包裹JS代碼:
< script type="text/javascript"> //JS代碼; </script>
>>>Script標籤可以放到頁面中的任何位置。
3、引入外部的JS檔案,使用<script></script>標籤:
<script language="JavaScript" src="js/01.js"></script>
[注意事項]
①<script></script>可以嵌入到頁面的任意位置。但是,位置的不同會導致JS代碼的執行順序不同
比如<script></script>放到<body>前面,則JS代碼會在頁面載入之前就執行
②引入外部的JS代碼,<script></script>必須是成堆的標籤。而且,標籤中不能再有任何的代碼。
三、JS中的變數
1、JS中變數聲明的寫法;
var num = 10; //使用var聲明的變數,屬於局部變數,只在當前範圍內有效。
num = 10; //不用var聲明的變數,預設為全域變數,在整個JS檔案中都有效。
var = x=8,y,z=10; //使用一行語句同時聲明多個變數。上式中,y屬於已聲明,但未賦值狀態,結果為undefined;
[聲明變數的注意事項]
①JS中所有變數的聲明,均使用var關鍵字。變數具體是什麼資料類型,取決於給變數賦值的類型;
②JS中同一個變數,可以在多次不同賦值時,修改變數的資料類型;
var a = 10; //從初始聲明,是a屬於整數型;
a = "哈哈哈"; //重複賦值時,整數型的a被修改為字串類型;
③變數可以使用var聲明,也可以不實用var聲明。
[區別]使用var聲明為局部變數,不實用var聲明為全域變數;
④只用var聲明,但是不賦值,結果為undefined;
例如: var a; // a為undefined。但是,如果不聲明也不賦值的a,直接使用會報錯。
⑤同一變數名可以多次使用var聲明。但是,後面的var並沒有任何卵用。第二次再使用var聲明時,只會被理解為普通的賦值操作。
2、變數名的命名要求:
①變數名,只能有字母、數字、底線組成;
②開頭 不能是數字;
③變數名區分大小寫,大寫字母與小寫字母為不同變數;
3、變數名的命名規範:
①要符合小駝峰法則:
首字母小寫,之後每個單詞的首字母大寫;var myNameIsSong = 1; ?
②或者使用匈牙利命名法:
所有字母小寫,單次之間用_分隔;var my_name_is_song = 1; ?
③var mynameissong = 1; ?,能用,但是不規範。
4、JS中的資料類型
①Undefined:未定義。已經使用var聲明的變數,但是沒有賦值。如,var a;
②Null:表示空的引用。
③boolean:布爾類型。表示真假,只有兩個值: true/false
④Number:數實值型別。可以是整數,也可以是小數;
⑤String:字串類型。用雙引號或單引號包裹的內容,稱為字串;
⑥Object:物件類型。
5、常用的數值函數
①isNaN(): 判斷一個變數或常量,是否是NaN(not a num 非數值);
使用isNaN()判斷時,會嘗試 使用Number()函數進行轉換,如果最終結果能夠轉為數字,則不是NaN,結果為false。
②Number()函數: 將其他類型的資料,嘗試轉為數值型;
var num = 1; alert(Number(num));
[字串類型]
>>>字串為純數值字串,會轉為對應的數字;"111"->111
>>>字串為空白字串,會轉為0; ""->0
>>>字串包含任何其他字串時,都不能轉; "1a"->NaN
[布爾類型]
true -> 1; false -> 0
[Null/Undefined]
Null -> 0; Undefined -> 1
[Object]
③ ParseInt(): 將字串轉為整數類型;
>>>純數值字串,能轉。 "12" -> 12; "12.9" -> 12;(小數轉化時,直接抹掉小數點,不進行四捨五入)
>>>Null 字元串,不能轉,"" -> NaN
>>>包含其他字元的字元傳,會截取第一個非數值字串前的數字部分;"123a456" -> 123; "a123b456" -> NaN
>>>PassInt()只能轉字串,轉其他類型,全是NaN。
[Number函數與ParseInt函數的區別]
1、Number函數能轉各種資料類型,ParseInt函數只能轉字串。
2、兩者在轉字串時,結果不完全相同。(詳見上面解釋)
④ParseFloat:將字串轉為數值型;
轉換規則與ParseInt相同,值是如果有小數,則保留小數點:如果沒有小數,則依然是正數
"12.5" -> 12.5; "12" -> 12;
⑤typeof:檢測變數的資料類型:
字串 -> String 未定義 -> Undefined true/flase -> Boolean
數值 -> Number 對象/Null -> Object 函數 -> function
四、JS中常用的輸入輸出語句
1、document.write(); 將()中的內容列印輸出到瀏覽器螢幕上;
使用時需注意:除變數/常量外的所有內容,必須放到""中。變數和常量必須放到""外面
如果同時有變數和字串,必須用+連結;
var num1 = prompt("請輸入第一個數");var num2 = prompt("請輸入第二個數");var sum = parseFloat(num1) + parseFloat(num2)alert("結果是"+sum);
2、alert():使用彈窗輸出;
彈窗警告,()中的內容與上述要求相同。
3、promt(); 彈窗輸入;
接受兩部分參數:
①輸入框上面的提示內容,可選;
②輸入框裡面的預設資訊,可選;
當唯寫一部分時,表示輸入框上面的提示內容;
可以定義變數,接收輸入的內容。點擊確定按鈕,變數將被賦值為輸入的內容,點擊取消按鈕,變數將被賦值為null。
輸入內容時,預設接收的資料類型都是字串!!!
五、運算子的使用
1、算術運算(單目運算子)
+ 加、 -減、 *乘、 /除、 %取餘、 ++ 自增、 --自減
>>> +:有兩種作用,連結字串/加法運算。當+兩邊全為數字時,運行加法運算;
當+兩邊有任意一邊為字串時,起連結字串的作用,連結之後的結果為字串。
除+外,其餘符號運算時,會先嘗試將左右變數用Number函數轉為數字。
>>> /:結果將會保留小數點。
>>> ++:自增運算子,將變數在原有基礎上+1。
>>> --:自減運算子,將變數在原有基礎上-1。
【a++和++a的異同】
①相同點:無論是a++還是++a,運算完以後,a的值均會+1;
②不同點:a++,先用a的值去運算,再把a+1;
++a,先把a+1,在用a+1以後的值去運算;
<script type="text/javascript"> var a= 3,b,c; b = a++ +2; //先用a運算,b=3+2 再把a+1,a+4 c = ++a +2; //先把a+1,a=5,在用a+1以後的值去運算,c5+2 alert(a) alert(b) alert(c)</script>
2、 賦值運算
= 賦值、 += -= *= /= %=
+=: a+=b;相當於 a=a+b;但是,前者的運算效率要比後者快,所以推薦使用+=的寫法;
其餘的運算子類似。
3、關係運算
== 等於、===全等(嚴格等於)、 != 不等、 !== 不全等、 >、<、>=、<=
>>>關係運算子,運算之後的結果,只能Boolean類型
>>>判斷一個數字是否處於某個區間,必須用&&連結;
a<10 && a>0;? 10>a>0;?
>>> ===:嚴格等於;要求不但要類型相同,值也必須相同;類型不同,結果直接為false;類型相同,在進行下一步判斷;
==: 等於。類型相同,與===效果一樣。類型不同時會先嘗試用Number函數將兩邊轉為數字,然後再進行判斷。
但是有個別特例,如: Null==false;? Null==Undefined;?
4、條件運算子(多目運算)
a>b?true:false
有兩個重要符號:?和:
當?前面部分運算結果為true時,執行:前面的代碼
當?前面部分運算結果為false時,執行:後面的代碼
冒號兩邊可以為數值,則整個式子可用於賦值。var a = 1<2?1:2;
冒號兩邊可以為代碼塊,將直接執行代碼。1<2?alert(1):alert(2);
多目運算子可以多層嵌套。var a = 1<2?alert(1):(1>0?4:5);
5、位元運算符、 邏輯運算子
&&與、 ||或 、!非
&&: 兩邊都成立,結果為true
||: 兩邊有任意一邊成立,結果為true
6、運算子的優先順序:
() //小括弧最高
! 、++ 、 -- //單目運算子
* 、 / 、 %
+ 、 -
> 、 < 、 >= 、 <=
== 、 !=
&& //與或同時存在時,&&比||高
||
= 、 += 、 -= 、 *= 、 /= //最低的是各種賦值
JS基礎-變數及輸入輸出和運算子的使用