国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

JavaScript中創(chuàng)建類(lèi)/對(duì)象的幾種方法總結(jié)

2024-05-06 15:56:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要是對(duì)JavaScript中創(chuàng)建類(lèi)/對(duì)象的幾種方法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

在JS中,創(chuàng)建對(duì)象(Create Object)并不完全是我們時(shí)常說(shuō)的創(chuàng)建類(lèi)對(duì)象,JS中的對(duì)象強(qiáng)調(diào)的是一種復(fù)合類(lèi)型,JS中創(chuàng)建對(duì)象及對(duì)對(duì)象的訪(fǎng)問(wèn)是極其靈活的。

JS對(duì)象是一種復(fù)合類(lèi)型,它允許你通過(guò)變量名存儲(chǔ)和訪(fǎng)問(wèn),換一種思路,對(duì)象是一個(gè)無(wú)序的屬性集合,集合中的每一項(xiàng)都由名稱(chēng)和值組成(聽(tīng)起來(lái)是不是很像我們常聽(tīng)說(shuō)的HASH表、字典、健/值對(duì)?),而其中的值類(lèi)型可能是內(nèi)置類(lèi)型(如number,string),也可能是對(duì)象。

一、由一對(duì)大括號(hào)括起來(lái)

復(fù)制代碼 代碼如下:


var emptyObj = {};
    var myObj =
    {
        'id': 1,        //屬性名用引號(hào)括起來(lái),屬性間由逗號(hào)隔開(kāi)
        'name': 'myName'
    };
    //var m = new myObj(); //不支持


不知你注意到對(duì)象都是用 var 聲明的沒(méi)有,像上面的代碼,就只是簡(jiǎn)單的聲明一個(gè)對(duì)象,它只有一份拷貝,你不能像實(shí)例化類(lèi)對(duì)象一樣對(duì)它采用new操作,像上面代碼的注釋部分。這樣就極大的限制了對(duì)象的重用,除非你建立的對(duì)象只需要一份拷貝,否則考慮用其他方法建立對(duì)象。

下面一起看看如何訪(fǎng)問(wèn)對(duì)象的屬性和方法。

復(fù)制代碼 代碼如下:


var myObj =
    {
        'id': 1,
        'fun': function() {
            document.writeln(this.id + '-' + this.name);//以"對(duì)象.屬性"方式訪(fǎng)問(wèn)
        },
        'name': 'myObj',
        'fun1': function() {
            document.writeln(this['id'] + '+' + this['name']);//以集合方式訪(fǎng)問(wèn)
        }
    };
    myObj.fun();
    myObj.fun1();
    // 結(jié)果
    // 1-myObj 1+myObj


二、用 function 關(guān)鍵字模擬 class

在 function 中用 this 引用當(dāng)前對(duì)象,通過(guò)對(duì)屬性的賦值來(lái)聲明屬性。如果用var聲明變量,則該變量為局部變量,只允許在類(lèi)定義中調(diào)用。

復(fù)制代碼 代碼如下:


function myClass() {
            this.id = 5;
            this.name = 'myclass';
            this.getName = function() {
                return this.name;
            }
        }
        var my = new myClass();
        alert(my.id);
        alert(my.getName());
        // 結(jié)果
        // 5
        // myclass


三、在函數(shù)體中創(chuàng)建一個(gè)對(duì)象,聲明其屬性再返回

在函數(shù)體中創(chuàng)建對(duì)象可利用第一點(diǎn)的方法,或先 new Object(); 再為各屬性賦值。

不過(guò)用這種方式創(chuàng)建的對(duì)象在VS2008 SP1中是沒(méi)有智能提示的。

復(fù)制代碼 代碼如下:


function myClass() {
            var obj =
            {
                'id':2,
                'name':'myclass'
            };
            return obj;
        }
        function _myClass() {
            var obj = new Object();
            obj.id = 1;
            obj.name = '_myclass';
            return obj;
        }
        var my = new myClass();
        var _my = new _myClass();
        alert(my.id);
        alert(my.name);
        alert(_my.id);
        alert(_my.name);

        // 結(jié)果
        // 2
        // myclass
        // 1
        // _myclass

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 云安县| 郎溪县| 台湾省| 东明县| 夏邑县| 嘉定区| 襄垣县| 驻马店市| 福海县| 开原市| 高邮市| 东安县| 思南县| 江安县| 岑溪市| 江陵县| 桑植县| 遂川县| 虎林市| 汤原县| 万山特区| 靖西县| 宜兰市| 桂阳县| 比如县| 乌兰察布市| 新和县| 平昌县| 开远市| 平安县| 镇沅| 和林格尔县| 花垣县| 鹿邑县| 寿光市| 吉林省| 兰州市| 长汀县| 温泉县| 新野县| 色达县|