javascript對象的學習與總結

來源:互聯網
上載者:User

標籤:javascript 對象 屬性

一.對象是javascript的基礎資料型別 (Elementary Data Type),是一種複合值,是屬性的容器,屬性是由索引值對組成的。

二.Js中對象分為:內建對象,宿主對象,自訂對象

三.對象的建立

   (1)對象直接量:由若干個名/值對組成的映射表,是一個運算式,這個運算式的每次運算都建立並初始化一個新的對象。

        例如:

             var empty_oject={};定義沒有任何屬性的對象

             var point={x:0,y:0};定義兩個屬性的對象

             var stooge={

                       name:”xiyin”,

                        sex:”girl”,

                       “first-name”:”xi”

}

  在對象自面量中,如果屬性名稱是一個合法的javascript標示符且不是保留字,則可以不適用引號括住屬性名稱,而上面的first-name是不合法的命名,所以。

(2)通過new建立對象:建立並初始化一個新對象,關鍵字new後面跟隨一個函數(稱為建構函式)調用。

例如:

   var 0=new Object();//建立一個Null 物件, 與var 0={};等同

   var a =new Array();//建立一個空數組,與  var a=[];等同

   var d=new Date();//建立一個表示當前事件的Date對象

(3)Object.create(),ES5定義的,用來建立一個新對象,,第一參數,是這個對象的原型,第二個是可選的參數,用來對對象屬性進行進一步的描述

     Var o3=Object.create(Object.prototype);  與Var 0=new Object();//建立一個Null 物件, 與var 0={};等同

四.對象屬性的查詢(檢索)和設定(更新),刪除屬性

           (1)可以通過.號或者方括弧【】,來擷取屬性的值

            Object.property

            Object[“property”]

          (2)對象裡的值可以通過指派陳述式來更新,如果屬性名稱已經存在於對象裡,那麼這個屬性的值就會被替換,如果對象之前沒有那個屬性名稱,那麼該屬性就被擴充到對象中。

              Stooge[“first-name”]=”yin”;

           (3)delete運算子可以刪除對象的屬性 delete stooge[“first-name”],delete運算子只能刪除自有屬性,不能刪除繼承屬性

五.檢測屬性:判斷某個屬性是否存在於某個對象中

         (1)In運算子:左側是屬性名稱(字串),右側是對象,如果對象的自有屬性,或者繼承屬性中包含這個屬性,則返回true.

          var o={x:1}

          “x” in o //true

          “y”in o //false

          “toString” in o //true o繼承toString屬性

        (2)對象的hasOwnProperty()方法用來檢測給定的名字是否是對象的自有屬性,對於繼承屬性它則返回false.

         (3)propertyIsEnumerable(),只有檢測到是自有屬性且這個屬性的可枚舉性為true時,它才返回true

六.序列化對象

         序列化對象是指對象的狀態轉換為字串,也可將字串還原為對象。

      ES5提供了內建函數JSON.stringify()和JSON.parse()用來序列化和還原為javascript對象(JSON--javascript object notation javascript對象標記法)

 七.對象方法

    (1)toString()方法,沒有參數,返回一個表示調用這個方法的對象值的字串

 


本文出自 “夢想需要堅持” 部落格,請務必保留此出處http://xiyin001.blog.51cto.com/9831864/1761142

javascript對象的學習與總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.