JavaScript自定義對象

JavaScript對象是"屬性的無序集合",里面以鍵/值對顯現(xiàn);屬性為字符串,其值為任意類型。

JavaScript中的所有事物都是對象:字符串、數(shù)組、數(shù)值、函數(shù) ...,JavaScript提供了基本的內(nèi)置對象供開發(fā)人員直接使用,如:FormData,String,Date,Array,File等。

在項目開發(fā)中,一些固定的邏輯或功能,通常會封裝在自定義的JavaScript對象中,以便于代碼的復(fù)用和管理。

訪問對象屬性

var value = object.propertyName; 
var value = object['propertyName'];

調(diào)用對象的方法

object.methodName();//無參
object.methodName(parm1,...);//有參

自定義對象的創(chuàng)建

1.字面量創(chuàng)建對象

person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
//或者:
person = {
    firstname:'Bill',
    lastname:'Gates',
    age:56,
    eyecolor:'blue'
}

2.new 構(gòu)造函數(shù)

    function People(name) {
            this.name = name;
            this.createTool = function(){
                console.log('I can fly');
            }
        }

        var people = new People('Paula');
        people.createTool();

3.使用Object.create(prototype,propertyDescriptor)

參數(shù)prototype:創(chuàng)建對象的原型,若為null,即對象的原型為undefine

propertyDescriptor:{} 可選,描述屬性

 function Animal() {
        }
        Animal.prototype = {
            actions: function(){
                console.log('RUN');
            }
        };
        
        //以Animal對象為原型,可繼承其它原型的方法
        var people = Object.create(Animal.prototype,{
            name:{value:'tom'},
            age:{value:56},
            createTool: {value:
                function(){
                    console.log('I CAN JUMP');
                }
            }
        });
        console.log(people.name);
        console.log(people.age);
        people.createTool();
        people.actions();
        
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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