JavaScript:JS對象,仍然是一個被創(chuàng)建的對象


前言


快到雙十一了,又到了一年一度的觸景生情的時候了.對象,作為本屌絲的我只能在是JavaScript或者是OC創(chuàng)建一個對象了??....不過希望所有程序猿(媛)能在雙十一成功脫單,往愛情的道路上前進一步.在這個特殊的日子將要來臨的時候,我們說說關(guān)于JavaScript對象相關(guān)的內(nèi)容.


JavaScript對象介紹


下面敘述的所有演示代碼均在<script>標(biāo)簽中進行.

與OC類似,正所謂萬物皆對象,JavaScript所有事物都是對象.JavaScript對象是包含著屬性和方法.JavaScript對象類似于OC中的字典類型,這是前面文章中說過的.如下所示,這是JavaScript創(chuàng)建對象的一種形式.

下面我們就創(chuàng)建一個person對象.然后給它添加姓名、年齡屬性.

        var people = {name:'SaoDong',age:18};

然后,我們給person對象添加一個方法.

        car.action = function() {
            alert("你好!");
        };

當(dāng)然了,我們不但可以在對象初始化的時候給對象添加屬性,我們也可以在初始化完成之后給對象添加屬性.

        var people = {name:'SaoDong',age:18};
        people.car = "daHuangFeng";

那么我們該如何訪問對象的屬性已經(jīng)方法呢?我們需要用點語法(語法糖)來訪問對象的屬性以及方法.如下所示.

        people.car//訪問對象的屬性
        people.action();//訪問對象的方法


JavaScript內(nèi)建對象類型


上面我們介紹了基本對象類型,下面就對幾種常用的JS內(nèi)建對象類型做一下介紹以及說明.更多是介紹它自身所帶有的方法.

字符串

對于字符串的創(chuàng)建,我們在上一篇文章中已經(jīng)說過了,下面我就對字符串對象的一些常見方法做一下列舉.包括字體型號,字體顏色,超鏈接等. 當(dāng)然,我只是介紹幾種常用的屬性....

fontsize()//字體型號
fontcolor()//字體顏色
link()//超鏈接
strike()//中劃線

示例如下所示.

    <body>

        <p id='label1'></p>
        <p id='label2'></p>
        <p id='label3'></p>
        <p id='label4'></p>

    </body>
    <script>
        var myString = "搞事,搞事,一天到晚就知道搞事";
        document.getElementById('label1').innerHTML = myString.fontsize(20);
        document.getElementById('label2').innerHTML = myString.fontcolor('Red');
        document.getElementById('label3').innerHTML = myString.link("http://www.itdecent.cn/users/e39da354ce50/latest_articles");
        document.getElementById('label4').innerHTML = myString.strike();
    </script>

效果圖如下.


數(shù)組

JavaScript數(shù)組對象的創(chuàng)建比較簡單,如下所示.

    var myArray = new Array;
    myArray[0] = "騷棟";
    myArray[1] = "棟哥";
    myArray[2] = "賓哥";
    myArray[3] = "達哥";

數(shù)組對象所對應(yīng)的方法就比較多了,這里也說一下幾個常用的.我就直接拿上面創(chuàng)建的數(shù)組來做示例說明了.

  • 數(shù)組排序

數(shù)組的排序是使用函數(shù)sort()實現(xiàn)的,包括實現(xiàn)字符串?dāng)?shù)組和數(shù)字?jǐn)?shù)組的排序.該方法會改變原來的數(shù)組,而不會創(chuàng)建新的數(shù)組.示例如下所示.

    document.write("原始數(shù)組:"+"<br>"+myArray + "<br>" + "<br>");
    myArray.sort();
    document.write("操作后的數(shù)組:"+"<br>"+myArray + "<br>");

結(jié)果如下所示.

  • 數(shù)組顛倒

數(shù)組顛倒主要是使用reverse()方法用于顛倒數(shù)組中元素的順序.該方法會改變原來的數(shù)組,而不會創(chuàng)建新的數(shù)組.示例如下所示.

    document.write("原始數(shù)組:"+"<br>"+myArray + "<br>" + "<br>");
    myArray.reverse();
    document.write("操作后的數(shù)組:"+"<br>"+myArray + "<br>");

結(jié)果如下所示.


  • 數(shù)組刪除/插入元素

OC中的數(shù)組插入和刪除元素完全的兩個方法,但是在JavaScript中數(shù)組的插入和刪除shift用splice()這一個方法即可解決.函數(shù)形式以及參數(shù)解釋如下所示.


比如我們現(xiàn)在要在下標(biāo)為2的位置添加元素,并不刪除任何原數(shù)組的任何一個元素,那么我們只需要把index設(shè)置為2,howmany參數(shù)為0,然后插入?yún)?shù)即可.代碼可以如下.

    document.write("原始數(shù)組:"+"<br>"+myArray + "<br>" + "<br>");
    myArray.splice(2,0,"三爺");
    document.write("操作后的數(shù)組:"+"<br>"+myArray + "<br>");

效果圖如下所示.



再例如,我們只想刪除從下標(biāo)2開始的兩個元素,那么我們的代碼操作就可以如下所示.

    document.write("原始數(shù)組:"+"<br>"+myArray + "<br>" + "<br>");
    myArray.splice(2,2);
    document.write("操作后的數(shù)組:"+"<br>"+myArray + "<br>");

效果如下所示.


日期

日期對象也是一種比較常用的對象類型.我們創(chuàng)建一個日期對象,如果不對這個對象進行任何賦值操作,那么它默認(rèn)的就是當(dāng)前日期,如下所示.

        var nowDate = new Date;
        document.write("<br>"+nowDate);

效果如下所示.

與OC類似,我們可以通過set/get方法分別對當(dāng)前的date對象設(shè)置時間和獲取時間.常用方法列表如下所示.

名稱 設(shè)置(輸入?yún)?shù)) 獲取(具有返回值)
setDate() getDate()
setMonth() getMonth()
setFullYear() getFullYear()
星期幾 setDay() getDay()
setHours() getHours()
setMinutes() getMinutes()
setSeconds() getSeconds()
毫秒 setMilliseconds() getMilliseconds()
距1970.1.1的毫秒數(shù) setTime() parse()
時間部分字符串 toTimeString()
日期部分字符串 toDateString()

比如我們設(shè)置天以及獲取天數(shù),代碼如下所示.頁面當(dāng)然就是顯示7了.

        var nowDate = new Date;
        nowDate.setDate(7);
        document.write("<br>"+nowDate.getDate());


JavaScript 算數(shù)對象


JavaScript的算數(shù)對象主要是用于計算任務(wù),比如輸入0~1之間的隨機數(shù),我們可以如下輸入代碼.

        var number = Math.random();
        document.write(number);

再例如我們可以比較兩個數(shù)的大小.用max()min()兩個函數(shù)即可.例如

        var maxNumber = Math.max(1,2);
        document.write(maxNumber);

然后,我看看教程還有一些常用的算數(shù)值,這里做一個列表分享出來.

算數(shù)值名稱 Math對象表示
常數(shù) Math.E
圓周率 Math.PI
2 的平方根 Math.SQRT2
1/2 的平方根 Math.SQRT1_2
2 的自然對數(shù) Math.LN2
10 的自然對數(shù) Math.LN10
以 2 為底的 e 的對數(shù) Math.LOG2E
以 10 為底的 e 的對數(shù) Math.LOG10E


JavaScript 正則表達式


JavaScript 的RegExp對象跟OC的謂詞的功能差不多,主要是用于字符串的比較,以前我就在華山論劍之iOS NSPredicate(謂詞)的使用(一)寫過OC的謂詞使用,并且在華山論劍之iOS NSPredicate(謂詞)的使用(二)中說到過關(guān)于常用正則表達式的使用.今天我們說一下JS中的RegExp對象的使用.

RegExp對象創(chuàng)建函數(shù)實際上是有patternattributes兩個參數(shù),pattern參數(shù)用來填寫正則表達式的模式或其他正則表達式.attributes參數(shù)則是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、區(qū)分大小寫的匹配和多行匹配。

 RegExp(pattern, attributes)

RegExp對象主要有三個方法,test()exec()以及compile().

  • test()
    test()函數(shù)檢索字符串中的指定值,返回值是 true 或 false.示例如下所示.
        var searching = new RegExp('D');
        var nameString = 'ShenJingSaoDong';
        document.write(searching.test(nameString));

返回值為true.

  • exec()
    和test()函數(shù)不同的是,exec()雖然也是檢索字符串中的指定值,但是它的返回值是檢索值或者是null.例如,
        var searching = new RegExp('D');
        var nameString = 'ShenJingSaoDong';
        document.write(searching.exec(nameString));
  • compile()
    compile()主要是用于修改patternattributes這兩個參數(shù).例如,
        var searching = new RegExp('D');
        var nameString = 'ShenJingSaoDong';
        document.write(searching.exec(nameString));
        searching.compile('S');
        document.write(searching.exec(nameString));


結(jié)束


JavaScript對象的分析講解基本就到這了,這里我決定分享關(guān)于JavaScript對象方法的詳細內(nèi)容傳送門??,初學(xué)JavaScript,可能有很多地方寫的不是很全面,希望各個大神前來批評指導(dǎo),最后祝大家在雙十一的日子里能找到屬于自己的另外一半,成功脫單.


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第1章 認(rèn)識JS JavaScript能做什么?1.增強頁面動態(tài)效果(如:下拉菜單、圖片輪播、信息滾動等)2.實現(xiàn)...
    mo默22閱讀 1,493評論 0 5
  • 一、JS前言 (1)認(rèn)識JS 也許你已經(jīng)了解HTML標(biāo)記(也稱為結(jié)構(gòu)),知道了CSS樣式(也稱為表示),會使用HT...
    凜0_0閱讀 2,903評論 0 8
  • 什么是對象JavaScript 中的所有事物都是對象,如:字符串、數(shù)值、數(shù)組、函數(shù)等,每個對象帶有屬性和方法。對象...
    阿r阿r閱讀 519評論 0 9
  • 通過 HTML DOM,可訪問 JavaScript HTML 文檔的所有元素。 HTML DOM (文檔對象模型...
    夜幕小草閱讀 505評論 0 10
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,674評論 0 4

友情鏈接更多精彩內(nèi)容