JS基礎-變量及輸入輸出和運算符的使用
一、什麽是JavaScript?
再講JS的基礎之前,先讓我們了解一下什麽是JS吧。
JS,全稱JavaScript。是t一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個應用)網頁上使用,用來給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;(小數轉化時,直接抹掉小數點,不進行四舍五入)
>>>空字符串,不能轉,"" -> 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基礎-變量及輸入輸出和運算符的使用