Penilaian
Perkara berikut meringkaskan perkara yang perlu anda pelajari daripada membaca buku ini (dan mengkaji contoh kod). Baca setiap ringkasan dan kembali ke topik dalam buku jika anda tidak faham apa yang dikatakan.
- Objek terdiri daripada sifat bernama yang menyimpan nilai.
- Kebanyakan perkara dalam JavaScript berkelakuan seperti objek. Nilai kompleks adalah objek, manakala nilai primitif boleh dianggap seperti objek. Inilah sebabnya anda mungkin mendengar orang mengatakan bahawa segala-galanya dalam JavaScript ialah objek.
- Cipta objek dengan memanggil pembina menggunakan kata kunci
baharu
atau menggunakan ungkapan literal singkatan.new
关键字调用构造函数或使用速记文字表达式来创建对象。 - 构造函数是对象(
Function()
对象),因此,在 JavaScript 中,对象创建对象。 - JavaScript 提供九个原生构造函数:
Object()
、Array()
、String()
、Number()
、Boolean()
、Function()
、Date()
、RegExp()
和Error()
。String()
、Number()
和Boolean()
构造函数具有双重用途:在需要时提供 a) 原始值和 b) 对象包装器,以便原始值可以像对象一样工作。 - 值
null
、undefined
、"string"
、10
、true
和false
都是原始值,没有对象性质,除非像对象一样对待。 - 当 >Object(),
Array()
,String()
,Number()
,Boolean()
,Function()
,Date ()
、RegExp()
和Error()
构造函数使用new
关键字调用,创建一个称为“复杂对象”或“引用对象”的对象。李> -
"string"
、10
、true
和false
在其原始形式中没有对象属性,直到它们被用作对象为止;然后 JavaScript 在幕后创建临时包装对象,以便这些值可以像对象一样工作。 - 原始值按值存储,复制时按字面意思复制。另一方面,复杂对象值通过引用存储,并且在复制时通过引用复制。
- 当它们的值相等时,原始值与其他原始值相等,而复杂对象仅当它们引用相同的值时才相等。也就是说:当一个复数值引用同一个对象时,两个复数值就等于另一个复数值。
- 由于复杂对象和引用的性质,JavaScript 对象具有动态属性。
- JavaScript 是可变的,这意味着可以随时操作本机对象和用户定义的对象属性。
- 获取/设置/更新对象属性是通过使用点符号或方括号符号来完成的。当所操作的对象属性名称采用表达式形式时(例如
Array['prototype']['join'].apply()
),括号表示法很方便。 - 引用对象属性时,将使用查找链首先查看属性所引用的对象。如果该属性不存在,则在构造函数
prototype
属性中查找该属性。如果在那里找不到,因为原型持有一个对象值,并且该值是从Object()
构造函数创建的,因此在Object()
构造函数prototype
属性 (Object) 上查找该属性.prototype
)。如果在那里没有找到该属性,则确定该属性为undefined
。 -
prototype
查找链是在 JavaScript 中设计继承(又名原型继承)的方式。 - 由于对象属性查找链(又名原型继承),所有对象都继承自
Object()
,因为prototype
属性本身就是一个Object()
对象。 - JavaScript 函数是一等公民:函数是具有属性和值的对象。
-
this
关键字在函数内部使用时,是引用包含该函数的对象的通用方法。 -
this
的值是在运行时根据调用该函数的上下文确定的。 - 在全局范围内使用时,this 关键字引用全局对象。
- JavaScript 使用函数来创建唯一的作用域。
- JavaScript提供了全局作用域,所有JavaScript代码都存在于这个作用域中。
- 函数(特别是封装函数)创建用于解析变量查找的作用域链。
- 作用域链是根据代码编写方式设置的,不一定是根据调用函数的上下文设置的。这允许函数访问其最初编写的作用域,即使该函数是从不同的上下文调用的。这个结果称为闭包。
- 不使用
var
在函数内部声明的函数表达式和变量将成为全局属性。但是,函数作用域内的函数语句仍然在编写它们的作用域中定义。 - 在全局作用域中声明的函数和变量(没有
var
)将成为全局对象的属性。 - 在全局范围内声明的函数和变量(使用
var
Constructors ialah objek (objek
Function()
), jadi dalam JavaScript, objek mencipta objek. JavaScript menyediakan sembilan pembina asli:
Object()
, Array()
, String()
, Number( ), <code>Boolean()
, Function()
, Date()
, RegExp()
dan Ralat()
. Pembina String()
, Number()
dan Boolean()
mempunyai dua tujuan: menyediakan a) nilai primitif dan b) objek apabila diperlukan Wrapper supaya nilai primitif boleh berfungsi seperti objek. Values
undefined
, "string"
, 10
, true > dan <code>false
ialah nilai primitif dan tidak mempunyai sifat objek melainkan dianggap seperti objek.
When
>Object(),Array()
, String()
, Nombor()
, Boolean()
, Function()
, Tarikh ()
, RegExp()
dan Ralat( )
Pembina dipanggil menggunakan kata kunci new
, mencipta objek yang dipanggil "objek kompleks" atau "objek rujukan". 李>
"string"
, 10
, true
dan false
tidak mempunyai sifat objek dalam bentuk mentahnya sehingga ia digunakan objek ; JavaScript kemudian mencipta objek pembalut sementara di belakang tabir supaya nilai boleh berkelakuan seperti objek. #🎜🎜#
#🎜🎜# Nilai asal disimpan mengikut nilai, dan disalin secara literal apabila disalin. Nilai objek kompleks, sebaliknya, disimpan melalui rujukan, dan apabila disalin, disalin melalui rujukan. #🎜🎜#
#🎜🎜#Nilai primitif adalah sama dengan nilai primitif lain apabila nilainya sama, manakala objek kompleks hanya sama jika merujuk kepada nilai yang sama. Iaitu: apabila satu nilai kompleks merujuk kepada objek yang sama, dua nilai kompleks adalah sama dengan nilai kompleks yang lain. #🎜🎜#
#🎜🎜#Disebabkan sifat objek dan rujukan yang kompleks, objek JavaScript mempunyai sifat dinamik. #🎜🎜#
#🎜🎜#JavaScript boleh berubah, yang bermaksud objek asli dan sifat objek yang ditentukan pengguna boleh dimanipulasi pada bila-bila masa. #🎜🎜#
#🎜🎜#Mendapatkan/menetapkan/mengemas kini sifat objek dilakukan dengan menggunakan tatatanda titik atau tanda kurungan segi empat sama. Notasi kurungan mudah apabila nama sifat objek yang anda kendalikan dalam bentuk ungkapan (seperti Array['prototype']['join'].apply()
). #🎜🎜#
#🎜🎜#Apabila merujuk sifat objek, rantai carian akan digunakan untuk melihat objek yang dirujuk oleh harta itu dahulu. Jika harta itu tidak wujud, harta itu dicari dalam atribut prototype
pembina. Jika ia tidak ditemui di sana, kerana prototaip memegang nilai objek dan nilai itu dicipta daripada pembina Object()
, jadi dalam pembina Object()
prototaip (Object).prototaip
). Jika harta itu tidak ditemui di sana, harta itu ditentukan untuk menjadi undefined
. #🎜🎜#
#🎜🎜#Object()
kerana sifat prototype
itu sendiri ialah Object( )
objek. #🎜🎜#
#🎜🎜#Fungsi JavaScript ialah warga kelas pertama: fungsi ialah objek dengan sifat dan nilai. #🎜🎜#
#🎜🎜#Kata kunci var
akan menjadi sifat global. Walau bagaimanapun, penyataan fungsi dalam skop fungsi masih ditakrifkan dalam skop di mana ia ditulis. #🎜🎜#
#🎜🎜#Fungsi dan pembolehubah yang diisytiharkan dalam skop global (tanpa var
) akan menjadi sifat objek global. #🎜🎜#
#🎜🎜#Fungsi dan pembolehubah yang diisytiharkan dalam skop global (menggunakan var
) menjadi pembolehubah global. #🎜🎜#
#🎜🎜#
#🎜🎜#
#🎜🎜#KESIMPULAN#🎜🎜#
#🎜🎜#Terima kasih kerana membaca! #🎜🎜#Atas ialah kandungan terperinci Penilaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apakah pendapat anda tentang furmark? 1. Tetapkan "Mod Jalankan" dan "Mod Paparan" dalam antara muka utama, dan juga laraskan "Mod Ujian" dan klik butang "Mula". 2. Selepas menunggu seketika, anda akan melihat keputusan ujian, termasuk pelbagai parameter kad grafik. Bagaimanakah furmark layak? 1. Gunakan mesin pembakar furmark dan semak hasilnya selama kira-kira setengah jam Ia pada asasnya berlegar sekitar 85 darjah, dengan puncak 87 darjah dan suhu bilik 19 darjah. Casis besar, 5 port kipas casis, dua di hadapan, dua di atas, dan satu di belakang, tetapi hanya satu kipas dipasang. Semua aksesori tidak overclock. 2. Dalam keadaan biasa, suhu biasa kad grafik hendaklah antara "30-85℃". 3. Walaupun suhu ambien terlalu tinggi pada musim panas, suhu biasa ialah "50-85℃"

"Ujian Inaction" bagi MMORPG dongeng fantasi baharu "Zhu Xian 2" akan dilancarkan pada 23 April. Apakah jenis kisah pengembaraan dongeng baharu yang akan berlaku di Benua Zhu Xian beribu-ribu tahun selepas karya asal? The Six Realm Immortal World, akademi abadi sepenuh masa, kehidupan abadi percuma, dan semua jenis keseronokan di dunia abadi sedang menunggu rakan-rakan abadi untuk meneroka secara peribadi! Pra-muat turun "Wuwei Test" kini dibuka Rakan-rakan Fairy boleh pergi ke laman web rasmi untuk memuat turun Anda tidak boleh log masuk ke pelayan permainan sebelum pelayan dilancarkan sudah selesai. Waktu pembukaan "Zhu Xian 2" "Inaction Test": 23 April 10:00 - 6 Mei 23:59 Bab pengembaraan dongeng baharu sekuel ortodoks kepada Zhu Xian "Zhu Xian 2" adalah berdasarkan novel "Zhu Xian" sebagai cetak biru Berdasarkan pandangan dunia karya asal, latar belakang permainan ditetapkan

"Operation Delta" akan melancarkan ujian PC berskala besar yang dipanggil "Codename: ZERO" hari ini (7 Mac). Hujung minggu lalu, permainan ini mengadakan acara pengalaman flash mob luar talian di Shanghai, dan 17173 juga bertuah kerana dijemput untuk mengambil bahagian. Ujian ini hanya tinggal lebih empat bulan lagi daripada kali terakhir, yang membuatkan kami tertanya-tanya, apakah sorotan dan kejutan baharu yang akan dibawa oleh "Operasi Delta" dalam tempoh yang singkat? Lebih empat bulan yang lalu, saya mengalami "Operasi Delta" dalam sesi merasa luar talian dan versi beta pertama. Pada masa itu, permainan hanya membuka mod "Tindakan Berbahaya". Walau bagaimanapun, Operasi Delta sudah mengagumkan pada zamannya. Dalam konteks pengeluar utama yang berpusu-pusu ke pasaran permainan mudah alih, FPS sedemikian yang setanding dengan piawaian antarabangsa

Tajuk: Analisis sebab dan penyelesaian mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Dreamweaver CMS (DedeCMS) ialah sistem pengurusan kandungan sumber terbuka yang berkuasa yang digunakan secara meluas dalam pembinaan pelbagai laman web. Walau bagaimanapun, kadangkala semasa proses membina tapak web, anda mungkin menghadapi situasi di mana direktori sekunder tidak boleh dibuka, yang membawa masalah kepada operasi biasa tapak web. Dalam artikel ini, kami akan menganalisis kemungkinan sebab mengapa direktori sekunder tidak boleh dibuka dan memberikan contoh kod khusus untuk menyelesaikan masalah ini. 1. Analisis sebab yang mungkin: Masalah konfigurasi peraturan pseudo-statik: Semasa penggunaan

Maven ialah alat pengurusan projek sumber terbuka yang biasa digunakan untuk tugas seperti membina projek Java, mengurus kebergantungan dan menerbitkan dokumen. Apabila menggunakan Maven untuk binaan projek, kadangkala kita mahu mengabaikan fasa ujian apabila melaksanakan arahan seperti mvnpackage, yang akan meningkatkan kelajuan binaan dalam beberapa kes, terutamanya apabila prototaip atau persekitaran ujian perlu dibina dengan cepat. Artikel ini akan memperincikan cara mengabaikan fasa ujian dalam Maven, dengan contoh kod tertentu. Mengapa Ujian Sering Diabaikan Semasa Pembangunan Projek

Pengenalan Penyepaduan berterusan (CI) dan penggunaan berterusan (CD) ialah amalan utama dalam pembangunan perisian moden yang membantu pasukan menyampaikan perisian berkualiti tinggi dengan lebih pantas dan lebih dipercayai. Jenkins ialah alat CI/CD sumber terbuka yang popular yang mengautomasikan proses binaan, ujian dan penggunaan. Artikel ini menerangkan cara menyediakan saluran paip CI/CD dengan Jenkins menggunakan PHP. Sediakan Jenkins Pasang Jenkins: Muat turun dan pasang Jenkins daripada tapak web rasmi Jenkins. Cipta projek: Cipta projek baharu daripada papan pemuka Jenkins dan namakannya agar sepadan dengan projek php anda. Konfigurasikan kawalan sumber: Konfigurasikan repositori git projek PHP anda sebagai Jenkin

Ujian fungsional mengesahkan kefungsian fungsi melalui ujian kotak hitam dan kotak putih, manakala liputan kod mengukur bahagian kod yang diliputi oleh kes ujian. Bahasa yang berbeza (seperti Python dan Java) mempunyai rangka kerja ujian, alat liputan dan ciri yang berbeza. Kes praktikal menunjukkan cara menggunakan Unittest and Coverage Python dan JUnit dan JaCoCo Java untuk ujian fungsi dan penilaian liputan.

Penutupan fungsi bahasa Go memainkan peranan penting dalam ujian unit: Menangkap nilai: Penutupan boleh mengakses pembolehubah dalam skop luar, membenarkan parameter ujian ditangkap dan digunakan semula dalam fungsi bersarang. Permudahkan kod ujian: Dengan menangkap nilai, penutupan memudahkan kod ujian dengan menghapuskan keperluan untuk menetapkan parameter berulang kali untuk setiap gelung. Tingkatkan kebolehbacaan: Gunakan penutupan untuk mengatur logik ujian, menjadikan kod ujian lebih jelas dan lebih mudah dibaca.
