2017年12月22日 星期五

javascript 常用函數

    /*
    //****************
    //string 字符串對象
    //****************
    length屬性:長度
    concat(String)連線兩個或更多個字符串
    indexOf(string)返回出現字符串的位置
    substr(num1,num2)截取字符串
    toLoweCase()轉換成小寫
    toUpperCase()轉換成大寫
    replace(str1,str2)字符串替換
   */
   var str1 = 'abcdefg';
   var str2 = 'YZF';
   console.log(str1.length); //7
   console.log(str1.concat(str2)); //abcdefgYZF
   console.log(str1.indexOf('a')>=0 ? "true" : "false");//true
   console.log(str1.substr(2,5));//cdefg
   console.log(str2.toLowerCase());//yzf
   console.log(str1.toUpperCase());//ABCDEFG
   console.log(str1.replace('c','zzz'));//abzzzdefg

   /*
    //****************
    //Date日期對象
    //****************
    getFullYear()返回年份(4位)
    getMonth() 返回月份0-11
    getDate() 返回日期1-31
    getday() 返回星期數0-6
    getHours()返回小時數0-23
    getMinutes()返回分鐘數0-59
    getSeconds()返回秒數0-59
    getMilliseconds()返回毫秒數0-999
   */
   var dt = new Date();
   console.log("Year:"  + dt.getFullYear());
   console.log("Month:" + dt.getMonth());
   console.log("Date:"  + dt.getDate());
   console.log("week:"  + dt.getDay());
   console.log("Hour:"  + dt.getHours());
   console.log("minute" + dt.getMinutes());
   console.log("second:" + dt.getSeconds());
   console.log("MilliSecond:"+ dt.getMilliseconds());
   /*
    //****************
    //Math 數學對象
    //****************
    ceil(數值)將小數點無條件進位,除了0,返回整數
    floor(數值)將小數點無條件捨去,留下整數,返回整數
    round(數值)四捨五入,返回整數
    min(數值1,數值2)返回最小值
    max(數值1,數值2)返回最大值
    pow(數值1,數值2)返回數值1的數值2次方
    random()返回隨機數,預設0~1
     sqrt(數值)開平方根
   */
   var num1 = 26.0;
   var num2 = 26.1;
   var num3 = 26.5;

   console.log(
    "ceil無條件進位應用--",
    num1 +'整數為:' + Math.ceil(num1), //26
    num2 +'整數為:' + Math.ceil(num2), //27
    num3 +'整數為:' +  Math.ceil(num3),//27
    );
    console.log(
    "floor無條件捨去應用--",
    num1 +'整數為:' + Math.floor(num1), //26
    num2 +'整數為:' + Math.floor(num2) ,//26
    num3 +'整數為:' +  Math.floor(num3) //26
    );
    console.log(
    "round 四捨五入應用--",
    num1 +'整數為:' + Math.round(num1), //26
    num2 +'整數為:' + Math.round(num2) ,//26
    num3 +'整數為:' + Math.round(num3)  //27
    );
    var num4 = 2;
    var num5= 10;
    console.log(num4 + "與" + num5 + "最小值為" + Math.min(num4,num5)); //2
    console.log(num4 + "與" + num5 + "最大值為" + Math.max(num4,num5)); //10
    console.log(num4 + "的" + num5 + "次方為" + Math.pow(num4,num5));  //1024
    console.log("產生0"+ "到" + num5 + "亂數為" + Math.random()*num5); //6.113784...
 
   /*
    //****************
    //數組對象
    //****************
    concat()返回一個由兩個數組組合併組成的新數組
    join()返回一個由數組中的所有元素連接在一起的String 對象
    split()將String轉換成數組
    shift()刪除數組中的第一個元素並返回該值
    pop()刪除數組中的最后一個元素併返回該值
    push()向數組中添加新元素,返回數組的新長度
    unshift()返回一個數組,在該數組頭部插入了指定元素
    sort()返回一個元素使排序了的 Array 對象
    reverse()返回一個元素反序的 Array 對象
    slice()返回數組的一個片段
    splice(start,deleteCount)從數組中刪除元素
     */
    var arr1 = [3,2,4,5,6,3,5];
    var arr2 = ['a','d'];
    var str1 = "1,b,h,e,a,d,h";
    var newArr =  arr1.concat("ZZZ");
    console.log("將 "+ arr1+" 與 "+ arr2 +" 合併成新數組"+arr1.concat(arr2));
    console.log("將"+ arr1 + "元素轉成String 對象,結果為:");
    console.log(arr1.join());
    console.log("將"+ str1 + "字串轉成數組,結果為:");
    console.log( str1.split(','));
    console.log("刪除"+ arr1 + "第一個元素,第一個元素為"+ arr1.shift());
    console.log("刪除"+ arr1 + "最後元素,最後一個元素為"+ arr1.pop());
    console.log("在"+ arr1 + "最後元素新增元素,元素長度為"+ arr1.push(99999) + "結果:" + arr1);
    console.log("在"+ arr1 + "第一個元新增元素,元素長度為"+ arr1.unshift(323432) + "結果:" + arr1);
    console.log("排序arr1初始為" + arr1 + "排序後結果" + arr1.sort());
    console.log("排序arr1初始為" + arr1 + "反排序後結果" + arr1.reverse());
    console.log("初始" + arr1 + "擷取arr1,第二個元素結果為" +  arr1.slice(-2));
    console.log("初始" + arr1 + "刪除指定數組項目" + arr1.splice(2,2)+ "結果" + arr1);

    //****************
    // 計時器
    //****************
    windos.setTimeout(code,millisec) 用於在指定的毫秒數後調用函數或計算表達式。
    提示:
    setTimeout()只執行code一次。如果要多次調用,請使用setInterval(code,millisec)
    其中code必須單引號包起來,才會執行。 
    清除時間設定:
    clearInterval(id_of_setinterval)
    clearTimeout(id_of_settimeout)















沒有留言: