淺談Js對象的概念、創建、調用、刪除、修改!


一、我們經常困惑,對象究竟是什么,其實這是一種思維,一種意識上的東西,就像我們都說
    世界是有物質組成的道理一樣,理解了下面的幾句話!對象也不是那么抽象!
    1.javascript中的所有事物都是對象,字符串、數值、數組、函數!
    而且js還允許自定義對象!
    2、對象就只是帶有屬性和方法的特殊數據類型
    3、屬性是與對象相關的值,方法是能夠在對象上執行的動作!

    其實在這里的時候我們應該就有一個疑問要解決了,我們說函數是一個對象,為什么?
    很簡單,js中所有的事物都是對象,函數自然包括在內,而且函數有自己的屬性個方法,這更加驗證了這一點!

    我們對函數的屬性和方法還是有疑問,函數到底是用來干嘛的?答案在這里:函數可以封裝,可以調用,這是個什么概念,
    有了這個東西,我們就可以寫很多共用的東西了!

    我們學習對象的基本功應該學會一下幾點:

// 一.創建對象的方式:
        // 1、直接創建:person = new Object()!直接創建了一個對象給了person!
        // 2、使用函數對象構造器創建:其實就是創建函數(在js中,this通常指的是我們正在執行的函數本身,或者是指向該函數運行時所屬的對象!)
        // function person(firstname,lastname,age,eyecolor)
        // {
        // this.firstname=firstname;
        // this.lastname=lastname;
        // this.age=age;
        // this.eyecolor= function(){ alert("this is" + this.name + ".")};
        // }
        // 3、使用Json創建!
        // person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};這種樣式也是在創建對象!
       
        // 對象的屬性,我們可以添加,添加對象的方法其實就是附加在對象的上的函數!

        // 二.針對第二種函數式的對象創建:這種方式的所有操作都需要先new出一個my對象,這個對象就是一個普通對象!
        // var my = new person();
        // 1、調用:
        // 使用屬性:alert(my.firstname);
        // 調用方法:my.eyecolor();
        // 2、修改:
        // 修改屬性:my.age = 18;
        // 3、增加:
        // my.name = "nihao"
        // 4、刪除:
        // delete hero.name;
        


        // 另一種常見實例:

        // var hero = {
        // name : "zhangwuji",
        // age : 18,
        // tel : 1388888888,
        // sayMe : function()
        // {
        //     alert("this is zhangwuji.");
        // }
        // }

        // 1 調用
        // alert(hero.name);
        // hero.sayMe
        // alert(hero['name']);
        // hero['sayMe']

        //2 修改
        // hero.name = "zhouzhiruo";
        // alert(hero.nam
        // hero.sayMe = function(){
        //     alert("this is zhouzhiruo.")
        // }
        // hero.sayMe

        //3 增加
        // hero.value = "zhouzhiruo";
        // alert(hero.value);
        // hero.sayVal = function(){
        //     alert("zhangwuji's value is zhouzhiruo.");
        // }
        // hero.sayVal

        //4 刪除
        // delete hero.name;
        // alert(hero.name);
        // delete hero.sayMe;  只有調用函數需要有()
        // hero.sayMe
        // var method = {
        //     add : function(a,b){
        //         return a + b;
        //     }
        // }    
        // alert(method.add(1,2));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM