免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
Js創(chuàng)建類/對象的幾種方式

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

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

一、由一對大括號括起來

    var emptyObj = {};
    var myObj =
    {
        'id': 1,        //屬性名用引號括起來,屬性間由逗號隔開
        'name': 'myName'
    };
    //var m = new myObj(); //不支持
 
  不知你注意到對象都是用 var聲明的沒有,像上面的代碼,就只是簡單的聲明一個對象,它只有一份拷貝,你不能像實例化類對象一樣對它采用new操作,像上面代碼的注釋部分。這樣就極大的限制了對象的重用,除非你建立的對象只需要一份拷貝,否則考慮用其他方法建立對象。
  下面一起看看如何訪問對象的屬性和方法。
    var myObj =
    {
        'id': 1,
        'fun': function() {
            document.writeln(this.id + '-' + this.name);//以"對象.屬性"方式訪問
        },
        'name': 'myObj',
        'fun1': function() {
            document.writeln(this['id'] + '+' + this['name']);//以集合方式訪問
        }
    };
    myObj.fun();
    myObj.fun1();
    // 結(jié)果
    // 1-myObj 1+myObj 
二、用 function 關(guān)鍵字模擬 class
在 function 中用 this 引用當(dāng)前對象,通過對屬性的賦值來聲明屬性。如果用var聲明變量,則該變量為局部變量,只允許在類定義中調(diào)用。
        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)建一個對象,聲明其屬性再返回
在函數(shù)體中創(chuàng)建對象可利用第一點的方法,或先 new Object(); 再為各屬性賦值。
不過用這種方式創(chuàng)建的對象在VS2008 SP1中是沒有智能提示的。
        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

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
屬性擴(kuò)展-入門
JavaScript面向?qū)ο缶幊蹋?)-- 基礎(chǔ)
js 函數(shù)調(diào)用屬性與方法 的方法
JSON學(xué)習(xí) - JavaScript - web - JavaEye論壇
37道WEB前端開發(fā)面試題之JavaScript篇章!
前端面試送命題-JS三座大山
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服