javascript基礎(內建物件)

codereview0發表於2017-03-30

javascript的內建物件

說明

*JavaScript 中的所有事物都是物件:字串、數值、陣列、函式…
*JavaScript 允許自定義物件。
*物件只是帶有屬性和方法的特殊資料型別。

String物件

屬性:length

var str=”abc”;
alert(str.length);//3

方法

有關html顯示的方法

big():用大號字型顯示字串
bink():顯示閃動字型
bold():顯示粗體
fontcolor():指定顏色
fontsize():指定字型大小
italics():顯示斜體
link(url):顯示為連結
sub(): 把字串顯示為下標。
sup():把字串顯示為上標。

有關字串的操作

charAt(): 返回在指定位置的字元。
concat(str) :連線字串。
indexOf(char): 檢索字元的位置。
replace():替換與正規表示式匹配的子串。
split() :把字串分割為字串陣列。
toLocaleLowerCase(): 把字串轉換為小寫。
toLocaleUpperCase() 把字串轉換為大寫。
substr(): 從起始索引號提取字串中指定數目的字元。
substring() 提取字串中兩個指定的索引號之間的字元。

例項程式碼

var str="abc";
//屬性
document.write("length:"+str.length);
document.write("<hr>");
//fontcolor方法
document.write("變色後的:"+str.fontcolor("red"));
document.write("<hr>");
//fontsize方法
document.write("更改字型大小後的:"+str.fontsize(10));
document.write("<hr>");
//bold方法
document.write("加粗後的:"+str.bold());
document.write("<hr>");
//link方法
document.write("變成連結後的:"+str.link("../day02/js/js語句.html"));

document.write("<hr>");
//sub/sup方法
document.write("上下標:");
document.write(str.sub());
document.write(str);
document.write(str.sup());
var str1="123";
document.write("連線後的:"+str.concat(str1));
document.write("<hr>");
document.write("第二個字元:"+str.charAt(1));
document.write("<hr>");
document.write("某個字元的下標:"+str.indexOf("a")+"<br>");
document.write("某個字元的下標:"+str.indexOf("f"));
document.write("<hr>");
var strr="a.b.c.d";
document.write("原字串:"+strr+"長度:"+strr.length+"<br>");
document.write("按照.切割後:"+strr.split(".")+"長度:"+strr.split(".").length);
document.write("<hr>");
document.write("原字串:"+strr+"長度:"+strr.length+"<br>");
document.write("使用-替換後:"+strr.replace(".","-")+"長度:"+strr.replace(".","-").length);
document.write("只替換第一個字元");
document.write("<hr>");
document.write("擷取0開始前2個字元");
document.write(strr.substr(0,2));
document.write("擷取0開始到2-1的字元");
document.write(strr.substring(0,2));

例子截圖:
這裡寫圖片描述

Array物件

屬性:length

方法:

concat():連線兩個或更多的陣列,並返回結果。
join() :把陣列的所有元素放入一個字串。元素通過指定的分隔符進行分隔。
pop(): 刪除並返回陣列的最後一個元素
push(): 向陣列的末尾新增一個或更多元素,並返回新的長度。
reverse(): 顛倒陣列中元素的順序。
sort() :對陣列的元素進行排序
splice(): 刪除元素,並向陣列新增新元素。

例項程式碼

var  arr=[1,2,3];
            document.write("原陣列arr:"+arr);
            document.write("<br>")
            document.write("長度:"+arr.length);
            document.write("<hr>");

            var arr1=[4,5,6];
            document.write("原陣列arr1:"+arr1);
            document.write("<br>")
            document.write("陣列連線:"+arr.concat(arr1));

            document.write("<br>")
            document.write("<hr>");
            document.write("join方法:"+arr.join("a"));
            document.write("<hr>");
            document.write("<br>")
            document.write("刪除arr的最後一個元素:"+arr.pop());
            document.write("<br>")
            document.write("刪除後長度:"+arr.length);
            document.write("<br>")
            document.write("新增後長度:"+arr.push("4"));

            document.write("<hr>");

            var arr2=[6,5,4];
            document.write("原陣列arr2:"+arr2);
            document.write("<br>")
            document.write("陣列排序:"+arr2.sort());

例子截圖:
這裡寫圖片描述

Date物件

*獲取當前時間
    var date = new Date();
    //轉換成習慣的格式      
    date.toLocaleString();  
* 獲取當前的年方法
    getFullYear():得到當前的年

* 獲取當前的月方法
    getMonth():獲取當前的月
        *** 返回的是 0-11月,如果想要得到準確的值,加1
        **** var date1 = date.getMonth()+1;
*獲取當前的星期
    getDay():星期,返回的是 (0 ~ 6)
    *在國外,把星期日作為一週的第一天,星期日返回的是 0
       而星期一到星期六 返回的是 1-6
* 獲取當前的日
    getDate():得到當前的天 1-31
* 獲取當前的小時
    getHours():獲取小時
* 獲取當前的分鐘
    getMinutes():分鐘
*獲取當前的秒
    getSeconds(): 秒
* 獲取毫秒數
    getTime()
    返回的是1970 1 1 至今的毫秒數
    * 應用場景:
        * 使用毫秒數處理快取的效果(不有快取)
            http://www.baidu.com?毫秒數

例項:

            var date=new Date();
            document.write("當前時間:");
            document.write(date);
            document.write("<hr>");
            document.write("當前時間:");
            document.write(date.toLocaleDateString());
            document.write("<hr>");
            document.write("年:");
            document.write(date.getFullYear());
            document.write("<br>");
            document.write("月:");
            document.write(date.getMonth()+1);
            document.write("<br>");
            document.write("日:");
            document.write(date.getDate());
            document.write("<br>");
            document.write("時:");
            document.write(date.getHours());
            document.write("<br>");
            document.write("分:");
            document.write(date.getMinutes());
            document.write("<br>");
            document.write("秒:");
            document.write(date.getSeconds());      
            document.write("<br>");
            document.write("獲取從1970年到現在的毫秒數:");
            document.write(date.getTime());

例子截圖:
這裡寫圖片描述

Math物件

屬性:E:自然常量e PI:π

方法:
abs(x):返回數的絕對值。
ceil(x):對數進行上舍入。
exp(x):返回 e 的指數。
floor(x):對數進行下舍入。
log(x):返回數的自然對數(底為e)。
max(x,y): 返回 x 和 y 中的最高值。
min(x,y) :返回 x 和 y 中的最低值。
pow(x,y) :返回 x 的 y 次冪。
random(): 返回 0 ~ 1 之間的隨機數。
round(x) :把數四捨五入為最接近的整數。

示例程式碼

        var  a=1.25;
        document.write("原資料:"+a);
        document.write("<br>")
        document.write("ceil:"+Math.ceil(a));
        document.write("<br>");
        document.write("round:"+Math.floor(a));
        document.write("<br>");
        document.write("round:"+Math.round(a));
        //得到0-9的隨機數
        document.write("<br>");
        document.write(Math.random()*10);document.write("<br>");    
        document.write("round:"+Math.round(Math
        .random()*10));

例項截圖:
這裡寫圖片描述

全域性函式

decodeURI() 解碼某個編碼的 URI。
encodeURI() 把字串編碼為 URI。
isNaN() 檢查某個值是否是數字。
parseFloat() 解析一個字串並返回一個浮點數。
parseInt() 解析一個字串並返回一個整數。
escape() 對字串進行編碼。
unescape() 對由 escape() 編碼的字串進行解碼。
例項程式碼:

        var str="alert('1234')";
        eval(str);

        //encodeURI
        document.write("<br>");
        var aa="測試中文aaa123";
        var encode=encodeURI(aa);
        document.write(encode);
        document.write("<br>");
        document.write(decodeURI(encode));

        //isNaN
        document.write("<br>");
        document.write(isNaN("aaaa"));
        document.write("<br>");
        document.write(isNaN("1234"));
        document.write("123"-0);

js的“過載”

首先說明的是js裡沒有過載但是我們可以模擬過載。

沒有過載的解釋

        function add1(a,b) {
            return a+b;
        }       
        function add1(a,b,c) {
            return a+b+c;
        }
        function add1(a,b,c,d) {
            return a+b+c+d;
        }
        add1(1,2);//結果是NaN
        add1(1,2,3);//結果是NaN
        add1(1,2,3,4);//結果是103個呼叫都使用的第三個方法(離呼叫最近的函式)不會呼叫其他的

過載的模擬:

    function add1() {
            if(arguments.length == 2) {
                return arguments[0]+arguments[1];

            } else if (arguments.length == 3) {

    return arguments[0]+arguments[1]+arguments[2];

            } else if (arguments.length == 4) {

return arguments[0]+arguments[1]+arguments[2]+arguments[3];

            } else {
                return 0;
            }
        }

相關文章