首頁  >  文章  >  web前端  >  JavaScript中物件介紹_javascript技巧

JavaScript中物件介紹_javascript技巧

WBOY
WBOY原創
2016-05-16 16:23:131086瀏覽

JavaScript中,除了number、string、boolean、null和undefined,其它所有的值都是物件。物件可以透過字面量來直接聲明,也可以透過new操作符來新建。與Java語言不同,JavaScript物件中的property是可以動態新增或刪除的;同時,物件中的property還可以是空字串:


複製程式碼 程式碼如下:

//properties in object can be added/deleted dynamically
var o = {x:1, y:2};
console.log(o);//Object {x=1, y=2}
delete o.y;
o.z = 3;
console.log(o);//Object {x=1, z=3}

//empty string is allowed as object property
var o2 = {"":88, "p":99};
console.log(o2);//Object { =88, p=99}

//for constructor function, "new" operation returns an object.
function Computer(x, y) {
  this.x = x;
  this.y = y;
}
var c = new Computer(126, 163);
console.log(c);//Computer {x=126, y=163}
var c2 = new Computer(126);//missing parameter value will be "undefined"
console.log(c2);//Computer {x=126, y=undefined}
c.z = 66;
console.log(c);//Computer {x=126, y=163, z=66}
delete c.y;
console.log(c);//Computer {x=126, z=66}

如果在使用new運算元來新物件時,作用的function並不是一個類別的constructor,而只是一個普通的函數,那麼JavaScript將在執行該函數後傳回一個空物件:

複製程式碼 程式碼如下:

//for pure function, "new" operation returns an empty object.
function compute(x){
  console.log("execute function compute");
  return x*2;
}
var a = new compute();
console.log(a);//compute {}

Object屬性

JavaScript中的Object有以下3個屬性:

1.prototype。引用,指向Object的原型物件。原型物件中的property可以被Object所繼承。
2.class。字串,表示Object的類別名稱。
3.extensible。 boolean值,表示Object中是否允許動態新增property。此屬性僅在ECMAScript 5中有效。

Property屬性

Object中的Property也有3個屬性:

1.writable。該property是否可寫。
2.enumerable。當使用for/in語句時,該property是否會被列舉。
3.configurable。該property的屬性是否可以修改,property是否可以刪除。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn