前端開發JavaScript入門——JavaScript介紹&基本數據類型

              JavaScriptjavascript

  誕生於1995年,它的出現主要是用於處理網頁中的 前端驗證。 • 所謂的前端驗證,就是指檢查用戶輸入的內容是否符合必定的 規則。 • 好比:用戶名的長度,密碼的長度,郵箱的格式等。html

  JavaScript是由網景公司發明,起初命名爲LiveScript,後來由 於SUN公司的介入改名爲了JavaScript。1996年微軟公司在其最新的IE3瀏覽器中引入了本身對 JavaScript的實現JScript。因而在市面上存在兩個版本的JavaScript,一個網景公司的 JavaScript和微軟的JScript。 • 爲了確保不一樣的瀏覽器上運行的JavaScript標準一致,因此幾 個公司共同定製了JS的標準名命名爲ECMAScript。前端

  

            JavaScript實現java

  咱們已經知道ECMAScript是JavaScript標準,因此通常狀況下 這兩個詞咱們認爲是一個意思。 • 可是實際上JavaScript的含義卻要更大一些。 • 一個完整的JavaScript實現應該由如下三個部分構成:c++

 

                編寫第一個javescript頁面瀏覽器

alert("");緩存

控制瀏覽器彈出一個警告框,括號中填警告框中內容。函數

document.write("")學習

能夠向body中輸出一個內容,讓計算機在頁面中輸出一個內容。括號中填輸出內容。編碼

console.log("")

向控制檯輸出一個內容。括號中填輸出內容。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <!--JS代碼須要編寫到script標籤中-->
        <script type="text/javascript"> alert("哥,你真帥啊!!"); document.write("看我出不出來~~~"); console.log("你猜我在哪出來呢?"); </script>
    </head>
    <body>
    </body>
</html>

須要注意的是:js語言的執行順序是從上到下,因此輸出順序從上到下依次輸出

效果:

控制檯中:

                     編寫位置

  咱們目前學習的JS全都是客戶端的JS,也就是說全都是須要在 瀏覽器中運行的,因此咱們咱們的JS代碼全都須要在網頁中編 寫。

• 咱們的JS代碼須要編寫到<script>標籤中。

• 咱們通常將script標籤寫到head中。(和style標籤有點像)

• 屬性: – type:默認值text/javascript能夠不寫,不寫也是這個值。

– src:當須要引入一個外部的js文件時,使用該屬性指向文件的地址

編寫位置一:能夠將js代碼寫在超連接的href屬性中,這樣當點擊超連接時,會執行js代碼

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
</head>
    <body>
    <button onclick="alert('討厭,你點我幹嗎~~');">點我一下</button>
    <a href="javascript:alert('讓你點你就點!!');">你也點我一下</a>
        <a href="javascript:;">你也點我一下</a>
        
    </body>
</html>

編寫位置二:能夠將js代碼編寫到script標籤。或者在script標籤引入外部編寫的js文件,外部的js文件能夠在不一樣的頁面中同時引用,也能夠利用到瀏覽器的緩存機制。(推薦使用的方式)

script標籤一旦用於引入外部文件了,就不能在編寫代碼了,即便編寫了瀏覽器也會忽略。若是須要則能夠在建立一個新的script標籤用於編寫內部代碼。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/script.js"></script>
        <script type="text/javascript"> alert("我是內部的JS代碼"); </script>
</head> 
    <body>
</body>
</html>

                    JavaScript基本語法

1.JS中嚴格區分大小寫
2.JS中每一條語句以分號(;)結尾
 - 若是不寫分號,瀏覽器會自動添加,可是會消耗一些系統資源,並且有些時候,瀏覽器會加錯分號,因此在開發中分號必須寫。
3.JS中會忽略多個空格和換行,因此咱們能夠利用空格和換行對代碼進行格式化

4.單行註釋和多行註釋

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            /* 多行註釋 JS註釋 多行註釋,註釋中的內容不會被執行,可是能夠在源代碼中查看 要養成良好的編寫註釋的習慣,也能夠經過註釋來對代碼進行一些簡單的調試 */
            //單行註釋
            //alert("hello");
            //document.write("hello");
 console.log("hello"); //該語句用來在控制檯輸出一個日誌
 alert("hello"); </script>
    </head>
    <body </body>
</html>

                    字面量和變量

字面量都是一些不可改變的值
好比 :1 2 3 4 5
字面量都是能夠直接使用,可是咱們通常都不會直接使用字面量

變量變量能夠用來保存字面量,並且變量的值是能夠任意改變的
變量更加方便咱們使用,因此在開發中都是經過變量去保存一個字面量,而不多直接使用字面量,能夠經過變量對字面量進行描述。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            //聲明變量
            //在js中使用var關鍵字來聲明一個變量
            var a; //爲變量賦值
 a = 123; a = 456; a = 123124223423424; //聲明和賦值同時進行
            var b = 789; var c = 0; var age = 80; console.log(age); </script>
    </head>
    <body>
    </body>
</html>

                        標識符

在JS中全部的能夠由咱們自主命名的均可以稱爲是標識符,例如:變量名、函數名、屬性名都屬於標識符。
命名一個標識符時須要遵照以下的規則:
1.標識符中能夠含有字母、數字、_、$
2.標識符不能以數字開頭
3.標識符不能是ES中的關鍵字保留字
4.標識符通常都採用駝峯命名法
- 首字母小寫,每一個單詞的開頭字母大寫,其他字母小寫。例如: helloWorld xxxYyyZzz

JS底層保存標識符時其實是採用的Unicode編碼,
*因此理論上講,全部的utf-8中含有的內容均可以做爲標識符

                    數據類型

在JS中一共有六種數據類型:
  String 字符串
  Number 數值
  Boolean 布爾值
  Null 空值
  Undefined 未定義
  Object 對象

其中String Number Boolean Null Undefined屬於基本數據類型
* 而Object屬於引用數據類型

 

                        String 字符串

  在JS中字符串須要使用引號引發來,使用雙引號或單引號均可以,可是不要混着用。 引號不能嵌套,雙引號不能放雙引號,單引號不能放單引號。

  在字符串中咱們可使用\做爲轉義字符,當表示一些特殊符號時可使用\進行轉義
  \" 表示 "
  \' 表示 '
  \n 表示換行
  \t 製表符
  \\ 表示\

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript">
            var str = 'hello'; str = '我說:"今每天氣真不錯!"'; str = "我說:\"今天\t天氣真不錯!\""; str = "\\\\\\"; //輸出字面量 字符串str
 alert("str"); //輸出變量str
 alert(str); </script>
    </head>
    <body>
    </body>
</html>

 

                    Number類型

在JS中全部的數值都是Number類型,包括整數和浮點數(小數)
JS中能夠表示的數字的最大值
  Number.MAX_VALUE
  1.7976931348623157e+308
  Number.MIN_VALUE(大於0的最小值)
  5e-324

若是使用Number表示的數字超過了最大值,則會返回一個
  Infinity 表示正無窮
  Infinity 表示負無窮
  使用typeof檢查Infinity也會返回number
  NaN 是一個特殊的數字,表示Not A Number
  使用typeof檢查一個NaN也會返回number

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">        
    //數字123
            var a = 123; //字符串123
            var b = "123"; a = -Number.MAX_VALUE * Number.MAX_VALUE; //返回的結果是infinity
 a = "abc" * "bcd"; console.log(typeof a); //返回的結果是a = NaN;
 console.log(typeof infinity); //返回的結果是number
 console.log(typeof NaN); //返回的結果是number
            /* * 在JS中整數的運算基本能夠保證精確 */
            var c = 1865789 + 7654321; /* * 若是使用JS進行浮點運算,可能獲得一個不精確的結果 * 因此千萬不要使用JS進行對精確度要求比較高的運算 */
            var c = 0.1 + 0.2; console.log(c); </script>
    </head>
    <body>
    </body>
</html>

                       Boolean類型

布爾值只有兩個,主要用來作邏輯判斷:
true
- 表示真
false
- 表示假

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var bool = false; /* 使用typeof檢查一個布爾值時,會返回boolean */ console.log(typeof bool); console.log(bool); </script>
    </head>
    <body>
    </body>
</html>

                  Null和Undefined

Null(空值)類型的值只有一個,就是null。null這個值專門用來表示一個爲空的對象。使用typeof檢查一個null值時,會返回object

ndefined(未定義)類型的值只有一個,就undefind。當聲明一個變量,可是並不給變量賦值時,它的值就是undefined。使用typeof檢查一個undefined時也會返回undefined。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var a = null; var b = undefined; console.log(typeof b); </script>
    </head>
    <body>
    </body>
</html>

                          強制類型轉換 

                     轉換string類型

強制類型轉換,指將一個數據類型強制轉換爲其餘的數據類型。類型轉換主要指,將其餘的數據類型,轉換爲String Number Boolean

方式一:將其餘的數據類型轉換爲String

  調用被轉換數據類型的toString()方法,該方法不會影響到原變量,它會將轉換的結果返回。可是注意:null和undefined這兩個值沒有toString()方法,若是調用他們的方法,會報錯。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
             var a = 123; //調用a的toString()方法
            //調用xxx的yyy()方法,就是xxx.yyy()
 a = a.toString(); a = true; a = a.toString(); a = null; //a = a.toString(); //報錯
 a = undefined; //a = a.toString(); //報錯

        </script>
    </head>
    <body>
    </body>
</html>

 方式二:調用String()函數,並將被轉換的數據做爲參數傳遞給函數

使用String()函數作強制類型轉換時,對於Number和Boolean實際上就是調用的toString()方法。可是對於null和undefined,就不會調用toString()方法,它會將 null 直接轉換爲 "null",將 undefined 直接轉換爲 "undefined"

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">           a = 123; //調用String()函數,來將a轉換爲字符串
 a = String(a); a = null; a = String(a); a = undefined; a = String(a); </script>
    </head>
    <body>
    </body>
</html>

                  轉換爲number

轉換方式一:
使用Number()函數
字符串 --> 數字
1.若是是純數字的字符串,則直接將其轉換爲數字
2.若是字符串中有非數字的內容,則轉換爲NaN
3.若是字符串是一個空串或者是一個全是空格的字符串,則轉換爲0
布爾 --> 數字
true 轉成 1
false 轉成 0
null --> 數字 0
undefined --> 數字 NaN

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
var a = "123"; //調用Number()函數來將a轉換爲Number類型
 a = Number(a); a = false; a = Number(a); a = null; a = Number(a); a = undefined; a = Number(a); </script>
    </head>
    <body>
    </body>
</html>

 

轉換方式二:
這種方式專門用來對付字符串
parseInt() 把一個字符串轉換爲一個整數
parseFloat() 把一個字符串轉換爲一個浮點數

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript"> a = "123567a567px"; //調用parseInt()函數將a轉換爲Number
            /* * parseInt()能夠將一個字符串中的有效的整數內容去出來, * 而後轉換爲Number */ a = parseInt(a); /* * parseFloat()做用和parseInt()相似,不一樣的是它能夠得到有效的小數 */ a = "123.456.789px"; a = parseFloat(a); /* * 若是對非String使用parseInt()或parseFloat() * 它會先將其轉換爲String而後在操做 */ a = true; a = parseInt(a); a = 198.23; a = parseInt(a); console.log(typeof a); console.log(a); </script>
    </head>
    <body>
    </body>
</html>

 

                             其餘的進制數字

  在js中,若是須要表示16進制的數字,則須要以0x開頭。若是須要表示8進制的數字,則須要以0開頭。若是要要表示2進制的數字,則須要以0b開頭。可是不是全部的瀏覽器都支持。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            var a = 123; //十六進制
 a = 0x10; a = 0xff; a = 0xCafe; //八進制數字
 a = 070; //二進制數字
            //a = 0b10;
            
            //像"070"這種字符串,有些瀏覽器會當成8進制解析,有些會當成10進制解析
 a = "070"; //能夠在parseInt()中傳遞一個第二個參數,來指定數字的進制
 a = parseInt(a,10); console.log(typeof a); console.log(a); </script>
    </head>
    <body>
    </body>
</html>

 轉換進制方法二:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript">
            //對於Number調用toString()時能夠在方法中傳遞一個整數做爲參數
            //此時它將會把數字轉換爲指定的進制,若是不指定則默認轉換爲10進制
            var a = 255; a = a.toString(2); console.log(a); console.log(typeof a); </script>
    </head>
    <body>
        
    </body>
</html>

 

                        轉換爲boolean

將其餘的數據類型轉換爲Boolean
使用Boolean()函數
數字 ---> 布爾
除了0NaN,其他的都是true
字符串 ---> 布爾
除了空串,其他的都是true
null和undefined都會轉換爲false
對象也會轉換爲true

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var a = 123; //true
 a = -123; //true
 a = 0; //false
 a = Infinity; //true
 a = NaN; //false
            
            //調用Boolean()函數來將a轉換爲布爾值
 a = Boolean(a); a = " "; a = Boolean(a); a = null; //false
 a = Boolean(a); a = undefined; //false
 a = Boolean(a); console.log(typeof a); console.log(a); </script>
    </head>
    <body>
    </body>
</html>

 

                          算術運算符

+
能夠對兩個值進行加法運算,並將結果返回
若是對兩個字符串進行加法運算,則會作拼串
會將兩個字符串拼接爲一個字符串,並返回
任何的值和字符串作加法運算,都會先轉換爲字符串,而後再和字符串作拼串的操做
-
能夠對兩個值進行減法運算,並將結果返回
*
能夠對兩個值進行乘法運算
/
能夠對兩個值進行除法運算
%
取模運算(取餘數)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript"> result = 456 + 789; //ture轉換成1
 result = true + 1; //ture轉換成1,false轉換成0
 result = true + false; //null轉換爲0
 result = 2 + null; //任何數和null作運算都是null
 result = 2 + NaN; //拼串
 result = "你好" + "大帥哥"; //拼串
            var str = "鋤禾日當午," +
                      "汗滴禾下土," +
                      "誰知盤中餐," +
                      "粒粒皆辛苦"; //與字符串相加時,先轉換成字符串,再拼串 
 result = 123 + "1"; //與字符串相加時,先轉換成字符串,再拼串 
 result = true + "hello";
</script> </head> <body> </body> </html>

 

特別地,咱們能夠利用拼串操做,來將一個任意的數據類型轉換爲String。

咱們只須要爲任意的數據類型 + 一個 "" 便可將其轉換爲String。這是一種隱式的類型轉換,由瀏覽器自動完成,實際上它也是調用String()函數。

一樣地,任何值作- * /運算時都會自動轉換爲Number。

咱們能夠利用這一特色作隱式的類型轉換能夠經過爲一個值 -0 *1 /1來將其轉換爲Number。 原理和Number()函數同樣,使用起來更加簡單。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
             var c = 123; c = c + ""; c = null; c = c + ""; result = 1 + 2 + "3"; //33
 result = "1" + 2 + 3; //123
 result = 100 - 5; result = 100 - true; result = 100 - "1"; result = 2 * 2; result = 2 * "8"; result = 2 * undefined; result = 2 * null; result = 4 / 2; result = 3 / 2;  //轉換number類型最簡單方法
            var d = "123"; d = d - 0; </script>
    </head>
    <body>
    </body>
</html>

                           一元運算符

+正號
正號不會對數字產生任何影響
- 負號
負號能夠對數字進行負號的取反


對於非Number類型的值,
它會將先轉換爲Number,而後在運算
能夠對一個其餘的數據類型使用+,來將其轉換爲number
它的原理和Number()函數同樣

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var a = 123; a = -a; a = true; a = "18"; a = +a; var result = 1 + +"2" + 3;//6
 console.log("result = "+result); </script>
    </head>
    <body>
    </body>
</html>

 

自增 ++
經過自增可使變量在自身的基礎上增長1
對於一個變量自增之後,原變量的值會當即自增1
自增分紅兩種:後++(a++)前++(++a)
不管是a++ 仍是 ++a,都會當即使原變量的值自增1
不一樣的是a++ 和 ++a的值不一樣
a++的值等於原變量的值(自增前的值)
++a的值等於新值 (自增後的值)
自減 --
經過自減可使變量在自身的基礎上減1
自減分紅兩種:後--(a--) 和 前--(--a)
不管是a-- 仍是 --a 都會當即使原變量的值自減1
不一樣的是a-- 和 --a的值不一樣
a-- 是變量的原值 (自減前的值)
--a 是變量的新值 (自減之後的值)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var a = 1; //結果都是2,可是a++的值爲1,++a值爲2.
 a++; ++a; var c = 10; //第一次c++,是在10的基礎上自增
 c++; //第二次c++,是在11的基礎上自增 
 console.log(c++); var d = 20; console.log(++d);//21
 console.log(++d);//22
            //20 + 22 + 22
            var result = d++ + ++d + d ; //console.log("d = "+d); 
        </script>
        
    </head>
    <body>
    </body>
</html>

小練習:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
        
            var n1=10; var n2=20; var n = n1++; //n1 = 11 n1++ = 10
 console.log('n='+n); // 10
 console.log('n1='+n1); //11
 n = ++n1 //n1 = 12 ++n1 =12
 console.log('n='+n); //12
 console.log('n1='+n1); //12
 n = n2--;// n2=19 n2--=20
 console.log('n='+n); //20
 console.log('n2='+n2); //19
 n = --n2; //n2=18 --n2 = 18
 console.log('n='+n); //18
 console.log('n2='+n2); //18
            
            
        </script>
    </head>
    <body>
    </body>
</html>

 

                          邏輯運算符

JS中爲咱們提供了三種邏輯運算符

! 非
* - !能夠用來對一個值進行非運算
* - 所謂非運算就是值對一個布爾值進行取反操做,
* true變false,false變true
* - 若是對一個值進行兩次取反,它不會變化
* - 若是對非布爾值進行元素,則會將其轉換爲布爾值,而後再取反
* 因此咱們能夠利用該特色,來將一個其餘的數據類型轉換爲布爾值
* 能夠爲一個任意數據類型取兩次反,來將其轉換爲布爾值,
* 原理和Boolean()函數同樣
*
&& 與
* - &&能夠對符號兩側的值進行與運算並返回結果
* - 運算規則
* - 兩個值中只要有一個值爲false就返回false,
* 只有兩個值都爲true時,纔會返回true
* - JS中的「與」屬於短路的與,
* 若是第一個值爲false,則不會看第二個值
*
|| 或
* - ||能夠對符號兩側的值進行或運算並返回結果
* - 運算規則:
* - 兩個值中只要有一個true,就返回true
* 若是兩個值都爲false,才返回false
* - JS中的「或」屬於短路的或
* 若是第一個值爲true,則不會檢查第二個值

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
 var a = false; //對a進行非運算
 a = !a; console.log("a = "+a); var b = 10; //取兩次反仍是自己
 b = !!b; //若是兩個值都是true則返回true
            var result = true && true; //只要有一個false,就返回false
 result = true && false; result = false && true; result = false && false; //若是兩個值都是true則返回true
            var result = true && true; //第一個值爲true,會檢查第二個值
            //true && alert("看我出不出來!!");
            
            //第一個值爲false,不會檢查第二個值
            //false && alert("看我出不出來!!");
                       //只有有一個true,就返回true
 result = true || false; result = false || true ; result = true || true ; </script>
    </head>
    <body>
    </body>
</html>

                   非布爾值的與或運算

 

&& || 非布爾值的狀況
對於非布爾值進行與或運算時,
會先將其轉換爲布爾值,而後再運算,而且返回原值
與運算
若是第一個值爲true,則必然返回第二個值
若是第一個值爲false,則直接返回第一個值


或運算:
若是第一個值爲true,則直接返回第一個值
若是第一個值爲false,則返回第二個值

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        
        <script type="text/javascript">
            //true && true
            //與運算:若是兩個值都爲true,則返回後邊的
            var result = 5 && 6; //與運算:若是兩個值中有false,則返回靠前的false
            //false && true
 result = 0 && 2; result = 2 && 0; //false && false
 result = NaN && 0; result = 0 && NaN; //true || true
            //若是第一個值爲true,則直接返回第一個值
 result = 2 || 1; result = 2 || NaN; result = 2 || 0; //若是第一個值爲false,則直接返回第二個值
 result = NaN || 1; result = NaN || 0; result = "" || "hello"; result = -1 || "你好"; console.log("result = "+result); </script>
        
    </head>
    <body>
    </body>
</html>

                         賦值運算符

a=5,中=就是賦值運算符。

a += 5 等價於 a = a + 5
-=
a -= 5 等價於 a = a - 5
*=
a *= 5 等價於 a = a * 5
/=
a /= 5 等價於 a = a / 5
%=
a %= 5 等價於 a = a % 5
                                      關係運算符

經過關係運算符能夠比較兩個值之間的大小關係,* 若是關係成立它會返回true,若是關係不成立則返回false
> 大於號
判斷符號左側的值是否大於右側的值
若是關係成立,返回true,若是關係不成立則返回false

>= 大於等於
判斷符號左側的值是否大於或等於右側的值

< 小於號

判斷符號左側的值是否小於右側的值


<= 小於等於
判斷符號左側的值是否小於或等於右側的值

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            var result = 5 > 10;//false
 result = 5 > 4; //true
 result = 5 > 5; //false
 result = 5 >= 5; //true
 result = 5 >= 4; //true
 result = 5 < 4; //false
 result = 4 <= 4; //true
 console.log(1 > true); //false
 console.log(1 >= true); //true
 console.log(1 > "0"); //true
 console.log(10 > null); //true
 任何值和NaN作任何比較都是false console.log(10 <= "hello"); //false
 console.log(true > false); //true
 console.log("1" < "5"); //true
 console.log("11" < "5"); //true

            //比較兩個字符串時,比較的是字符串的字符編碼
console.log("1" < "5"); //true
 console.log("11" < "5"); //true //比較兩個字符串時,比較的是字符串的字符編碼
 console.log("a" < "b");//true
            //比較字符編碼時是一位一位進行比較
            //若是兩位同樣,則比較下一位,因此借用它來對英文進行排序
 console.log("abc" < "bcd");//true
            //比較中文時沒有意義
 console.log("" > ""); //true
            
            //若是比較的兩個字符串型的數字,可能會獲得不可預期的結果
            //注意:在比較兩個字符串型的數字時,必定必定必定要轉型
 console.log("11123123123123123123" < +"5"); //true
        </script>
    </head>
    <body>
    </body>
</html>

                    unicode編碼表

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            /* * 在字符串中使用轉義字符輸入Unicode編碼 * \u四位編碼 */ console.log("\u2620"); </script>
    </head>
    <body>
        
        <!--在網頁中使用Unicode編碼 &#編碼; 這裏的編碼須要的是10進制 -->
        <h1 style="font-size: 200px;">&#9760;</h1>
        <h1 style="font-size: 200px;">&#9856;</h1>
        
    </body>
</html>

                  相等運算符

相等運算符用來比較兩個值是否相等,若是相等會返回true,不然返回false。

==

相等
當使用==來比較兩個值時,若是值的類型不一樣,則會自動進行類型轉換,將其轉換爲相同的類型而後在比較。

 !=

不相等

不相等也會對變量進行自動的類型轉換,若是轉換後相等它也會返回false

===

全等

用來判斷兩個值是否全等,它和相等相似,不一樣的是它不會作自動的類型轉換。 若是兩個值的類型不一樣,直接返回false。

!==
不全等
用來判斷兩個值是否不全等,和不等相似,不一樣的是它不會作自動的類型轉換。若是兩個值的類型不一樣,直接返回true。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript"> console.log(1 == 1); //true
            
            var a = 10; console.log(a == 4); //false
 console.log("1" == 1); //true
 console.log(true == "1"); //true
 console.log(null == 0); //false
            /* * undefined 衍生自 null * 因此這兩個值作相等判斷時,會返回true */ console.log(undefined == null); /* * NaN不和任何值相等,包括他自己 */ console.log(NaN == NaN); //false
                      //判斷b的值是不是NaN
                   //console.log(b == NaN);//不能用此方法
                      /* * 能夠經過isNaN()函數來判斷一個值是不是NaN * 若是該值是NaN則返回true,不然返回false */ console.log(isNaN(b)); console.log(10 != 5); //true
 console.log(10 != 10); //false
 console.log("abcd" != "abcd"); //false
 console.log("1" != 1);//false
 console.log("123" === 123);//false
 console.log(null === undefined);//false
 console.log(1 !== "1"); //true
        </script>
    </head>
    <body>
    </body>
</html>

                  條件運算符(三元運算符)

語法:
*條件表達式?語句1:語句2;
執行的流程:
條件運算符在執行時,首先對條件表達式進行求值,
若是該值爲true,則執行語句1,並返回執行結果
若是該值爲false,則執行語句2,並返回執行結果
若是條件的表達式的求值結果是一個非布爾值,
會將其轉換爲布爾值而後在運算

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
                  var a = 300; var b = 143; var c = 50; a > b ? alert("a大"):alert("b大"); //獲取a和b中的最大值
            var max = a > b ? a : b; //獲取a b c 中的大值
 max = max > c ? max : c; //這種寫法不推薦使用,不方便閱讀
            var max = a > b ? (a > c ? a :c) : (b > c ? b : c); //非布爾值
 console.log("max = "+max); "hello"?alert("語句1"):alert("語句2"); </script>
    </head>
    <body>
    </body>
</html>

 

                  運算符的優先級

就和數學中同樣,在JS中運算符也有優先級, 好比:先乘除 後加減
在JS中有一個運算符優先級的表,在表中越靠上優先級越高,優先級越高越優先計算,若是優先級同樣,則從左往右計算。可是這個表咱們並不須要記憶,若是遇到優先級不清楚可使用()來改變優先級。

相關文章
相關標籤/搜索