初始javascript

變量

使用var關(guān)鍵字進(jìn)行變量的聲明,聲明的同時也可以進(jìn)行賦值短绸。變量的聲明只能有一次车吹,但賦值可以有多次。如果只聲明變量醋闭,但是變量沒有被賦值窄驹,此時變量的值為undefined。

JavaScript變量的類型取決于右側(cè)的對象证逻。

var variable_name1 = 5;
var variable_name2 = 5.3;
var variable_name3 = false;
var variable_name4 = 'zhangsan';

輸出:
java: System.out.println();
javascript: console.log(); alert();

變量的作用域

JavaScript沒有塊級作用域
java:

if(true) {
    int a = 1;
}
System.out.println(a); // 編譯錯誤乐埠,超出作用域

javascript:

if(true){
    var a = 1;
}
console.log(a); // 1 JavaScript沒有塊級作用域

函數(shù)作用域:
在函數(shù)作用域內(nèi),聲明變量時不加'var'則變量為全局變量囚企,否則其作用域為函數(shù)作用域

function test(){
  var a = 1;
}
console.log(a);
//出錯
//
function test(){
  a = 1;
}
console.log(a);
//沒有錯誤

JS中的六大數(shù)據(jù)類型

js中有六種數(shù)據(jù)類型丈咐,包括五種基本數(shù)據(jù)類型(Number,String,Boolean,Undefined,Null),和3種引用數(shù)據(jù)類型(Object,Function,Array)。

基本數(shù)據(jù)類型

1.Number類型

Number類型包含整數(shù)和浮點數(shù)(浮點數(shù)數(shù)值必須包含一個小數(shù)點龙宏,且小數(shù)點后面至少有一位數(shù)字)兩種值棵逊。

2.String類型

單引號或雙引號擴(kuò)起來的字符集合

3.Boolean類型

該類型只有兩個值,true和false

4.Undefined類型

只有一個值烦衣,即undefined值歹河。使用var聲明了變量,但未給變量初始化值花吟,那么這個變量的值就是undefined秸歧。

5.Null類型

Null類型被看做空對象指針,Null類型也是空的對象引用衅澈。

三大引用類型

1.Object類型

我們看到的大多數(shù)類型值都是Object類型的實例键菱,創(chuàng)建Object實例的方式有兩種。

第一種是使用new操作符后跟Object構(gòu)造函數(shù)今布,如下所示

var person = new Object();

person.name = "Micheal";

person.age = 24;

第二種方式是使用對象字面量表示法经备,如下所示

var person = {

name : "Micheal",

age : 24

};

alert(person.name);

2.Array類型

數(shù)組的每一項可以用來保存任何類型的數(shù)據(jù),也就是說部默,可以用數(shù)組的第一個位置來保存字符串侵蒙,第二個位置保存數(shù)值,第三個位置保存對象....另外傅蹂,數(shù)組的大小是可以動態(tài)調(diào)整的纷闺。

創(chuàng)建數(shù)組的基本方式有兩種

第一種是使用Array構(gòu)造函數(shù)算凿,如下所示

var colors = new Array("red","blue","yellow");

第二種是使用數(shù)組字面量表示法,如下所示

var colors = ["red","blue","yellow"];

3 Function類型

每個函數(shù)都是Function類型的實例犁功,而且都與其他引用類型一樣具有屬性和方法氓轰。函數(shù)通常是使用函數(shù)聲明語法定義的,如下所示

function sum(num1,num2){

return num1 + num2;

};

這和使用函數(shù)表達(dá)式定義函數(shù)的方式相差無幾浸卦。

var sum = function (num1,num2){

return num1 + num2;

};

var result = sum(5,8);
alert(result);

typeof 操作符

由于js中的變量是弱類型的署鸡,所以它提供了一種檢測當(dāng)前變量的數(shù)據(jù)類型的方法,也就是typeof關(guān)鍵字.

typeof 123   //Number

typeof 'abc'  //String

typeof true //Boolean

typeof undefined //Undefined

typeof null //Object

typeof { } //Object

typeof [ ] //Object

js的三種輸出方式

/*  
             * 控制瀏覽器彈出一個提示框  
             */  
            alert("Hello JavaScript");  
              
            /*  
             * 控制瀏覽器在頁面中輸出一個內(nèi)容  
             * document.write()向body中寫一個內(nèi)容  
             */  
            document.write("看我出來不限嫌?靴庆??");  
              
            /*  
                向控制臺輸出一個內(nèi)容  
             * */  
            console.log("你看我在哪出來~~~");  

js編寫的位置

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <!--可以將JS代碼編寫到script標(biāo)簽中-->  
        <!--<script type="text/javascript">  
              
            alert("hello");  
              
        </script>-->  
          
        <!--  
            還可以將JS代碼編寫到外部的js文件中萤皂,然后通過script標(biāo)簽來引入外部的文件  
            將JS代碼編寫到外部文件中撒穷,可以在不同的頁面中引入相同的JS代碼,  
                方便后期的維護(hù)裆熙,并且寫在外部文件中可以使用瀏覽器的緩存,加快訪問速度提高用戶體驗  
                  
            如果使用script來引入外部文件禽笑,則它就不能在編寫任何的JS代碼了  入录,  
                如果還需要編寫則需要創(chuàng)建一個新的script標(biāo)簽  
        -->  
          
        <script type="text/javascript" src="js/script.js"></script>  
        <script type="text/javascript">  
            alert("我是內(nèi)部的JS代碼");  
        </script>  
    </head>  
    <body>  
          
          
        <!-- 
            將JS代碼編寫到標(biāo)簽的屬性中,屬于結(jié)構(gòu)與行為耦合佳镜,不方便后期的維護(hù)僚稿,不推薦使用 
        -->  
          
        <!-- 
            可以將JS代碼編寫到標(biāo)簽的指定屬性中 
        -->  
        <button onclick="alert('你點我干嘛~~~~');">點我一下</button>  
          
        <!-- 
            可以將JS代碼編寫到超鏈接的href中 
        -->  
        <a href="javascript:alert('討厭!s吧臁蚀同!');">你也點我一下</a>  
        <br /><br />  
        <a href="javascript:;">你也點我一下</a>  
          
    </body>  
</html>

js字符串

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">

        /*
         * 
         * 在解析器的底層,保存字符串時啊掏,實際上是以字符數(shù)組的形式保存的
         *  所以字符串的操作方法和數(shù)組都是非常相似的
         * 
         */


        var str = "Hello neusoft";

        //console.log(str.length);
        //console.log(str[6]);
        /*
         * length可以用來獲取一個字符串的長度
         */

        /*
         * charAt()
         *  - 可以根據(jù)索引來獲取指定位置的字符
         * 
         * charCodeAt()
         *  - 可以根據(jù)索引來獲取指定位置的字符的字符編碼
         * 
         * String.fromCharCode()
         *  - 可以根據(jù)字符編碼來獲取字符
         */
        str = "中AaHello neusoft";

        var result = str.charAt(0);

        result = str.charCodeAt(0);

        result = String.fromCharCode(20013);

        //console.log(result);

        /*
         * concat()
         *  - 可以用來連接兩個或多個字符串
         *  - 作用+ 一樣
         */
        str = "hello";
        var str2 = "world";

        result = str.concat(str2,"你好","天氣好","吃的好");

        /*
         * indexOf()
         *  - 檢索指定字符串在當(dāng)前字符串中的位置
         *  - 參數(shù):
         *      第一個參數(shù)蠢络,要查詢的字符串
         *      第二個參數(shù),查找開始的位置
         * 
         *  - 返回值:
         *      默認(rèn)會返回字符串第一次出現(xiàn)的位置的索引
         *      如果沒有找到該內(nèi)容迟蜜,則返回-1
         * 
         * lastIndexOf()
         *  - 檢索指定字符串在當(dāng)前字符串中的位置
         *  - 該方法和indexOf()一樣刹孔,不同的是indexOf()是從前往后找
         *      而lastIndexOf()是從后往前找
         */
        str = "Helo neusoft";

        //result = str.indexOf("a");
        //result = str.indexOf("l",3);
        result = str.lastIndexOf("l",5);

        /*
         * slice()
         *  - 可以用來截取一個字符中的內(nèi)容
         *  - 參數(shù):
         *      第一個參數(shù),截取開始位置的索引(包括開始位置)
         *      第二個參數(shù)娜睛,截取結(jié)束位置的索引(不包括結(jié)束位置)
         *      - 可以接收一個負(fù)值作為參數(shù)髓霞,如果是負(fù)值,則從后往前數(shù)
         *      - 也可以省略第二個參數(shù)畦戒,如果省略則一直截取到最后
         */

        str = "Hello neusoft";

        result = str.slice(0,5);

        result = str.slice(5);

        /*
         * substring()
         *  - 用來截取字符串的
         *  - 參數(shù):
         *      第一個參數(shù)方库,截取開始位置的索引(包括開始位置)
         *      第二個參數(shù),截取結(jié)束位置的索引(不包括結(jié)束位置)
         *      - 該方法不接收負(fù)值障斋,如果傳遞了一個負(fù)值纵潦,則默認(rèn)會設(shè)置為0
         *      - 該方法中如果第二個參數(shù)小于第一個,則會調(diào)整參數(shù)的位置
         *  
         */
        str = "Hello neusoft";
        result = str.substring(6,0);

        /*
         * substr()
         *  - 用來截取字符串
         *  - 參數(shù):
         *      第一個參數(shù),截取開始位置的索引
         *          - 可以是負(fù)值酪穿,如果是負(fù)值從后往前數(shù)
         *      第二個參數(shù)凳干,截取的個數(shù)
         */

        str = "Hello neusoft";
        result = str.substr(-3,2);

        //console.log(result);

        /*
         * split()
         *  - 可以將一個字符串拆分為一個數(shù)組
         *  - 它需要一個字符串作為參數(shù),將會根據(jù)該字符串對字符串進(jìn)行拆分
         *      并且將拆分的后的值保存到一個數(shù)組中返回
         */

        str = "孫悟空@豬八戒@沙和尚@唐僧";

        result = str.split("@");

        //console.log(Array.isArray(result));
        //console.log(result);

        /*
         * toLowerCase()
         *  - 將一個字符串轉(zhuǎn)換為小寫
         * toUpperCase()
         *  - 將一個字符串轉(zhuǎn)換為大寫
         */
        str = "abcdefg";

        result = str.toUpperCase();

        str = "ABCDEFG";

        result = str.toLowerCase();

        console.log(result);

        var myStr = "I,love,you,Do,you,love,me";
        var replacedStr = myStr.replace("love","hate");//"I,hate,you,Do,you,love,me";

        //replace默認(rèn)只替換第一次查找到的被济,想要全局替換救赐,需要置上正則全局標(biāo)識,如
        var myStr = "I,love,you,Do,you,love,me";
        var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me"
    </script>
</head>
<body>
</body>
</html>

數(shù)組

數(shù)組簡介

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            /*
             * 數(shù)組(Array)
             *  - 數(shù)組也是一個對象只磷,功能和普通對象(Object)的功能類似的
             *  - 數(shù)組中也可以保存不同的元素经磅,不同的是普通對象是通過一個字符串作為屬性名來操作屬性的,
             *      而數(shù)組是通過索引來操作元素的钮追。
             *  - 索引(index)
             *      - 索引就是從0開始的整數(shù)
             *  - 數(shù)組比普通對象的存儲效率要高预厌,在開發(fā)中我們經(jīng)常使用數(shù)組來存儲一些數(shù)據(jù)
             */
            
            //創(chuàng)建一個數(shù)組對象
            var arr = new Array();
            
            //使用typeof檢查一個數(shù)組對象時會返回object
            //console.log(typeof arr);
            
            /*
             * 向數(shù)組中添加元素
             *  - 語法:
             *      數(shù)組[索引] = 值;
             */
            arr[0] = 10;
            arr[1] = 20;
            arr[2] = 30;
            arr[3] = 40;
            arr[4] = 30;
        
            
            /*
             * 讀取數(shù)組中的元素
             *  - 語法:
             *      數(shù)組[索引]
             */
            
            //如果讀取一個數(shù)組中沒有的元素,會返回undefined
            //console.log(arr[4]);
            
            //獲取數(shù)組的長度
            /*
             * length
             *  - length屬性可以獲取或設(shè)置數(shù)組的長度
             *  - 對于連續(xù)的數(shù)組通過length屬性獲取到的就是數(shù)組中元素的個數(shù)
             */
            //console.log(arr.length);//獲取數(shù)組的長度
            
            //修改數(shù)組的length屬性
            //如果將長度修改為小于之前的長度的值元媚,則多余的部分會被刪除
            arr.length = 5;
            
            //如果將長度修改為大于之前的長度的值轧叽,則會數(shù)組中會創(chuàng)建出空的元素
            //arr.length = 10;
            
            //向數(shù)組的最后添加一個元素
            //語法:數(shù)組[數(shù)組.length] = 值;
            arr[arr.length] = 55;
            arr[arr.length] = 75;
            arr[arr.length] = 85;
            
            console.log(arr);
    
        </script>
    </head>
    <body>
    </body>
</html>

數(shù)組字面量表達(dá)方式(推薦)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            /*
             * 數(shù)組的字面量
             */
            //var arr = new Arry();
            var arr = [] ;

            /*
             * 使用字面量,可以在創(chuàng)建數(shù)組的同時刊棕,向數(shù)組中添加元素
             * 語法:
             *  var 數(shù)組 = [元素1,元素2...元素N];
             */
            arr = [1,2,3,4,5,6,7];
            
            //console.log(arr[6]);
            
            arr = new Array(1,2,3,4,5,6,7);
            
            arr = [10];//創(chuàng)建一個數(shù)組并向數(shù)組中添加一個元素
            
            arr = new Array(10);//創(chuàng)建一個長度為10的數(shù)組
            
            //console.log(arr.length);
            
            /*
             * 在數(shù)組中可以保存任意類型的元素
             */
            arr = [1,"hello",true,null,undefined,{name:"孫悟空"},function(){}];
            
            //console.log(arr[5].name);
            //console.log(arr[6]);
            
            
            //數(shù)組中也可以保存數(shù)組炭晒,如果數(shù)組中保存的依然是數(shù)組,則我們稱這個數(shù)組為二維數(shù)組
            arr = [
                    [1,2,3],
                    [4,5,6],
                    [5,6,7]
                ];
                
            console.log(arr[0][1]); 
            
        </script>
    </head>
    <body>
    </body>
</html>

數(shù)組的常用方法

push(),pop(),unshift(),shift()

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            /*
             * 創(chuàng)建一個數(shù)組
             */
            var arr = ["孫悟空","豬八戒","沙和尚"];
            
            /*
             * push()
             *  - 該方法可以用來向數(shù)組的末尾添加新的元素,并返回數(shù)組的新的長度
             */
            
            //console.log(arr);
            
            var result = arr.push("唐僧","白骨精","蜘蛛精");
            
            //console.log(arr);
            //console.log("result = "+result);
            
            /*
             * pop()
             *  - 用來刪除并返回數(shù)組的最后一個元素
             *  - 元素刪除以后甥角,會自動修正數(shù)組的長度
             */
            result = arr.pop();
            result = arr.pop();
            
            //console.log(arr);
            //console.log("result = "+result);
            
            /*
             * unshift()
             *  - 向數(shù)組的最前邊添加元素网严,并返回新的長度
             */
            result = arr.unshift("牛魔王","鐵扇公主");
            
            console.log(arr);
            //console.log("result = "+result);
            
            /*
             * shift()
             *  - 刪除數(shù)組最前邊的元素,并返回被刪除的元素
             *  - 刪除完元素以后嗤无,會自動調(diào)整數(shù)組的長度
             */
            result = arr.shift();
            result = arr.shift();
            
            
            console.log(arr);
            console.log("result = "+result);
            console.log(arr.length);
            
        </script>
    </head>
    <body>
    </body>
</html>

遍歷數(shù)組方式一

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            /*
             * 創(chuàng)建一個數(shù)組
             */
            
            var arr = ["孫悟空","豬八戒","沙和尚","唐僧","白骨精","蜘蛛精"];
            
            /*
             * 遍歷數(shù)組
             *  - 遍歷數(shù)組就是指將數(shù)組中的每一個元素都獲取到
             *  - 一般情況下遍歷數(shù)組都是使用for循環(huán)來遍歷
             */
            
            for(var i = 0 ;  i < arr.length ; i++ ){
                console.log(arr[i]);
            }
            
            
            
            
        </script>
    </head>
    <body>
    </body>
</html>

遍歷數(shù)組方式二:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            var arr = ["孫悟空","豬八戒","沙和尚","唐僧"];
            
            /*
             * 也可以使用forEach()來遍歷數(shù)組
             *  forEach()中需要一個函數(shù)作為參數(shù)
             *  - 像這種由我們定義而不由我們調(diào)用的函數(shù)震束,我們稱為回調(diào)函數(shù)
             *  - forEach()中的回調(diào)函數(shù),由瀏覽器調(diào)用当犯,
             *      數(shù)組中有幾個元素函數(shù)就會被調(diào)用幾次垢村,
             *      每次遍歷到一個元素都會調(diào)用一次函數(shù),瀏覽器會通過實參的形式來將遍歷到內(nèi)容傳遞進(jìn)函數(shù)
             *  - 瀏覽器在調(diào)用回調(diào)函數(shù)傳遞了三個實參:
             *      第一個參數(shù):正在遍歷的元素
             *      第二個參數(shù):正在遍歷的元素的索引
             *      第三個參數(shù):正在遍歷的數(shù)組對象
             * 
             *  - forEach()方法不支持IE8及以下的瀏覽器灶壶,所以如果需要兼容IE8則不要使用
             *      
             */
            arr.forEach(function(value , index , obj){
                
                console.log("value = "+value + "  index = "+index+" obj = "+obj);
                
            });
            //過濾
            var newarr = arr.filter(function (v,index,obj){
            return v.length == 3;
          });
          console.log(newarr);
          //映射
          var newarr = arr.map(arr.filter(function (v,index,obj){
            return 'hello' + v;
          });
          console.log(newarr);
          //去重
          var temp = [];
          var newarr = arr.filter(function (v,index,obj){
            if(temp.indexOf(v) < 0){
              temp.push(v);
              return true;
            }
            else{
              return false;
            }     
          });
          console.log(newarr);

          var newarr = arr.filter(function (v,index,obj){
            return arr.indexOf(v,index+1)==1;
          });
        </script>
    </head>
    <body>
    </body>
</html>

數(shù)組方法:

slice()肝断,splice():

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            var arr = ["孫悟空","豬八戒","沙和尚","唐僧"];
            
            /*
             * slice()
             *  - 可以用來截取數(shù)組中的指定元素
             *  - 參數(shù):
             *      第一個參數(shù),截取開始的位置(包括開始的位置)
             *      第二個參數(shù)驰凛,截取結(jié)束的位置(不包括結(jié)束的位置)
             *  - 該方法不會影響到原數(shù)組胸懈,而是將截取到的內(nèi)容封裝為一個新的數(shù)組返回
             *  - 可以傳遞一個負(fù)數(shù)作為參數(shù),如果是負(fù)數(shù)恰响,則從后往前數(shù)
             *      -1 表示 倒數(shù)第一 
             *      -2 表示 倒數(shù)第二
             *  - 如果省略第二個參數(shù)趣钱,則從開始位置一直截取到最后
             */
            
            var result = arr.slice(1,3);
            
            result = arr.slice(1,-2);
            
            result = arr.slice(1);
            
            //console.log(result);
            
            /*
             * splice()
             *  - 可以用來刪除數(shù)組中的元素,并添加新元素
             *  - 它會影響到原數(shù)組胚宦,一旦執(zhí)行原數(shù)組中的元素將會被刪除
             *  - 參數(shù):
             *      第一個參數(shù)首有,開始位置的索引
             *      第二個參數(shù)燕垃,表示刪除的個數(shù)
             *      第三個參數(shù),這個方法還可以傳遞多個參數(shù)
             *          在第三個參數(shù)以后井联,可以跟多個元素作為參數(shù)卜壕,
             *          這些元素將會被插入到開始位置之前的位置
             *  - 它會將被刪除的元素作為返回值返回
             *      
             */
            
            arr = ["孫悟空","豬八戒","沙和尚","唐僧"];
            
            //result = arr.splice(0,1);
            
            //牛魔王替換 索引為0的元素
            //result = arr.splice(0,1,"牛魔王");
            
            //arr.splice(2,1,"牛魔王","紅孩兒","二郎神");
            
            arr.splice(2,0,"牛魔王","紅孩兒","二郎神");
            
            console.log(arr);
            
            
        </script>
    </head>
    <body>
    </body>
</html>

數(shù)組的其他方法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            var arr = ["孫悟空","豬八戒"];
            var arr2 = ["白骨精","蜘蛛精"];
            var arr3 = ["太上老君","如來佛祖"];
            
            /*
             * concat()
             *  - 可以用來連接兩個或多個數(shù)組
             *  - 不會影響原數(shù)組,而是將新的數(shù)組的返回
             *  - 可以將多個數(shù)組作為concat參數(shù)傳遞烙常,也可以傳遞單個的元素
             */
            var result = arr.concat(arr2 , arr3 , "唐僧");
            
            //console.log(result);
            
            /*
             * join()
             *  - 可以將數(shù)組中的所有的元素連接為一個字符串
             *  - 該方法可以接收一個字符串作為參數(shù)轴捎,這個字符串將會將會作為連接符來連接元素
             *      如果不傳,默認(rèn)使用,
             */
            arr = ["孫悟空","豬八戒","沙和尚"];
            
            result = arr.join("@-@");
            
            //console.log(result);
            
            /*
             * reverse()
             *  - 該方法可以用來反轉(zhuǎn)數(shù)組
             *  - 前邊的去后邊蚕脏,后邊的去前邊
             *  - 它會影響到原數(shù)組侦副,直接在原數(shù)組上反轉(zhuǎn)
             */
            
            //arr.reverse();
            
            //console.log(arr);
            
            /*
             * sort()
             *  - 可以用來對數(shù)組中的元素進(jìn)行排序
             *  - sort()會影響到原數(shù)組
             *  - 默認(rèn)它會按照元素的Unicode編碼進(jìn)行排序
             *  - 如果希望使用sort對一個數(shù)字型的數(shù)組進(jìn)行排序可能會得到不可預(yù)期的結(jié)果
             *      因為它同樣也會按照數(shù)字的Unicode編碼進(jìn)行排序
             *  - 我們也可以自己來指定排序的規(guī)則
             * 
             */
            var arr4 = ["a","c","b","e","d","f"];
            
            arr4.sort();
            
            //arr4 = [2,3,10,5,4,6];
            
            
            
            /*
             * 如果需要自定義排序規(guī)則,需要將一個函數(shù)作為參數(shù)傳遞給sort()方法
             *  函數(shù)的結(jié)構(gòu):function(a , b){}
             *  
             * 瀏覽器會多次以數(shù)組中的元素作為實參來調(diào)用該函數(shù)驼鞭,
             *  a和b具體是誰不確定秦驯,但是a一定是在b前邊
             * 瀏覽器將會根據(jù)函數(shù)的返回值,來決定兩個元素是否交互位置
             *  如果返回一個大于0的值挣棕,則兩個元素互相交換位置
             *  如果返回一個等于0的值译隘,則證明兩個元素相等,位置不變
             *  如果返回一個小于0的值穴张,兩個元素的位置也不變
             * 
             */
            
            arr4 = [10,4,3,5,2];
            
            arr4.sort(function(a,b){
                
                /*//升序  小 ---> 大
                if(a > b){
                    //交換位置
                    return 1;
                }else if(a == b){
                    return 0;
                }else{
                    return -1;
                }*/
                
                //降序 大 ---> 小
                /*if(a > b){
                    //交換位置
                    return -1;
                }else if(a == b){
                    return 0;
                }else{
                    return 1;
                }*/
                
                //如果希望升序排列细燎,則 返回 a-b
                //return a - b;
                
                //如果希望降序排列,則 返回 b-a
                return b - a;
                
            });
            
            console.log(arr4);
            
        </script>
    </head>
    <body>
    </body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末皂甘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子悼凑,更是在濱河造成了極大的恐慌偿枕,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件户辫,死亡現(xiàn)場離奇詭異渐夸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)渔欢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門墓塌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奥额,你說我怎么就攤上這事苫幢。” “怎么了垫挨?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵韩肝,是天一觀的道長。 經(jīng)常有香客問我九榔,道長哀峻,這世上最難降的妖魔是什么涡相? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮剩蟀,結(jié)果婚禮上催蝗,老公的妹妹穿的比我還像新娘。我一直安慰自己育特,他們只是感情好丙号,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著且预,像睡著了一般槽袄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锋谐,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天遍尺,我揣著相機(jī)與錄音,去河邊找鬼涮拗。 笑死乾戏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的三热。 我是一名探鬼主播鼓择,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼就漾!你這毒婦竟也來了呐能?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤抑堡,失蹤者是張志新(化名)和其女友劉穎摆出,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體首妖,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡偎漫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了有缆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片象踊。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖棚壁,靈堂內(nèi)的尸體忽然破棺而出杯矩,到底是詐尸還是另有隱情,我是刑警寧澤灌曙,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布菊碟,位于F島的核電站,受9級特大地震影響在刺,放射性物質(zhì)發(fā)生泄漏逆害。R本人自食惡果不足惜头镊,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望魄幕。 院中可真熱鬧相艇,春花似錦、人聲如沸纯陨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翼抠。三九已至咙轩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阴颖,已是汗流浹背活喊。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留量愧,地道東北人钾菊。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像偎肃,于是被迫代替她去往敵國和親煞烫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容