JS基礎-變數及輸入輸出和運算子的使用

來源:互聯網
上載者:User

標籤: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基礎-變數及輸入輸出和運算子的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.