Rumah >hujung hadapan web >tutorial js >Nota Kajian Javascript - Objek (1): Penggunaan dan Sifat Objects_Basic Knowledge

Nota Kajian Javascript - Objek (1): Penggunaan dan Sifat Objects_Basic Knowledge

WBOY
WBOYasal
2016-05-16 16:43:111369semak imbas
false.toString(); // 'false'
[1, 2, 3].toString(); // '1,2,3'

function Foo(){}
Foo.bar = 1;
Foo.bar; // 1

Perkara yang sering disalah ertikan ialah pemalar berangka tidak boleh dianggap sebagai objek Malah, pemalar berangka masih boleh dianggap sebagai objek. Ini kerana penghurai Javascript membuat kesilapan semasa menghuraikan pengendali titik, menganggapnya sebagai ciri titik terapung.

2.toString(); // menaikkan SyntaxError

Sebenarnya, kami mempunyai banyak cara untuk menjadikan pemalar berangka berfungsi sebagai objek.

2..toString(); // the second point is correctly recognized
2 .toString(); // note the space left to the dot
(2).toString(); // 2 is evaluated first

Objek sebagai jenis data

Objek dalam Javascript boleh digunakan sebagai jadual cincang, yang kebanyakannya mengandungi surat-menyurat antara kunci dan nilai.
Gunakan simbol {} untuk mencipta objek mudah Objek baharu ini akan diwarisi daripada Object.prototype dan tidak akan mengandungi sifatnya sendiri.

var foo = {}; // a new empty object
// a new object with a 'test' property with value 12
var bar = {test: 12}; 

Mengakses sifat objek

Kita boleh menggunakan dua cara untuk mengakses objek Javascript, iaitu pengendali titik .

var foo = {name: 'kitten'}
foo.name; // kitten
foo['name']; // kitten

var get = 'name';
foo[get]; // kitten

foo.1234; // SyntaxError
foo['1234']; // works

Kesan kedua-dua operator adalah hampir sama Satu-satunya perbezaan ialah operator kurungan membenarkan tetapan dinamik atribut dan nama atribut boleh mempunyai ralat sintaks. (Situasi ketiga dalam contoh di atas telah dijelaskan)

Padamkan atribut objek

Satu-satunya cara untuk memadamkan atribut ialah menggunakan padam Menetapkan nilai atribut kepada tidak ditentukan atau null hanya mengalih keluar nilai yang dikaitkan dengan atribut dan tidak benar-benar memadamkan atribut itu sendiri.

var obj = {
 bar: 1,
 foo: 2,
 baz: 3
};
obj.bar = undefined;
obj.foo = null;
delete obj.baz;

for(var i in obj) {
 if (obj.hasOwnProperty(i)) {
 console.log(i, '' + obj[i]);
 }
}

Bar output di atas tidak ditentukan dan foo null, hanya baz sebenarnya dipadamkan.
Satu perkara yang perlu diperhatikan di sini ialah padam hanya boleh memadamkan atribut, bukan pembolehubah. Oleh itu, kita mesti membangunkan tabiat menulis var semasa mentakrifkan pembolehubah Pada bila-bila masa, pembolehubah mesti diisytiharkan menggunakan kata kunci var. Kerana jika anda tidak menulis var, pembolehubah akan tersilap diiktiraf sebagai atribut baharu yang dicipta untuk objek global.

Contoh ini memberikan jawapan dengan agak jelas, a ialah pembolehubah, dan b hanyalah sifat bagi objek global.

Sifat objek bernama

var test = {
 'case': 'I am a keyword, so I must be notated as a string',
 delete: 'I am a keyword, so me too' // raises SyntaxError
};

Sifat objek boleh dinamakan menggunakan aksara atau rentetan biasa. Juga disebabkan oleh pepijat dalam reka bentuk penghurai Javascript, perwakilan kedua dalam contoh di atas akan membuang ralat dalam ECMAScript 5.
Sebab ralat ialah kerana padam ialah kata kunci, ia mesti dinamakan menggunakan pemalar rentetan untuk menyesuaikan diri dengan versi lama penghurai Javascript.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn