Penilaian

Sep 03, 2023 pm 11:09 PM
ujian menganalisis penilaian pengaturcaraan

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) 对象包装器,以便原始值可以像对象一样工作。
  • nullundefined"string"10truefalse 都是原始值,没有对象性质,除非像对象一样对待。
  • 当 >Object(), Array(), String(), Number(), Boolean(), Function(), Date ()RegExp()Error() 构造函数使用 new 关键字调用,创建一个称为“复杂对象”或“引用对象”的对象。李>
  • "string"10truefalse 在其原始形式中没有对象属性,直到它们被用作对象为止;然后 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 ​​​​null, 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. #🎜🎜# #🎜🎜#prototaip Rantaian carian ialah cara warisan (aka warisan prototaip) direka dalam JavaScript. #🎜🎜# #🎜🎜# Disebabkan oleh rantai carian sifat objek (aka warisan prototaip), semua objek mewarisi daripada Object() kerana sifat prototype itu sendiri ialah Object( ) objek. #🎜🎜# #🎜🎜#Fungsi JavaScript ialah warga kelas pertama: fungsi ialah objek dengan sifat dan nilai. #🎜🎜# #🎜🎜#Kata kunci ini, apabila digunakan di dalam fungsi, ialah cara umum untuk merujuk objek yang mengandungi fungsi. #🎜🎜# #🎜🎜#Nilai ini ditentukan pada masa jalan berdasarkan konteks di mana fungsi dipanggil. #🎜🎜# #🎜🎜#Apabila digunakan dalam skop global, kata kunci ini merujuk kepada objek global. #🎜🎜# #🎜🎜#JavaScript menggunakan fungsi untuk mencipta skop unik. #🎜🎜# #🎜🎜#JavaScript menyediakan skop global dan semua kod JavaScript wujud dalam skop ini. #🎜🎜# #🎜🎜# Fungsi (terutamanya fungsi pembalut) mencipta rantai skop untuk menghuraikan carian berubah-ubah. #🎜🎜# #🎜🎜#Rantai skop ditetapkan berdasarkan cara kod ditulis, tidak semestinya berdasarkan konteks di mana fungsi dipanggil. Ini membenarkan fungsi untuk mengakses skop di mana ia ditulis pada asalnya, walaupun jika fungsi itu dipanggil dari konteks yang berbeza. Keputusan ini dipanggil penutupan. #🎜🎜# #🎜🎜#Ekspresi fungsi dan pembolehubah yang diisytiharkan di dalam fungsi tanpa menggunakan 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!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah pendapat anda tentang furmark - Bagaimanakah furmark dianggap layak? Apakah pendapat anda tentang furmark - Bagaimanakah furmark dianggap layak? Mar 19, 2024 am 09:25 AM

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℃"

Sertai pengembaraan Xianxia baharu! Pramuat turun 'Zhu Xian 2' 'Wuwei Test' kini tersedia Sertai pengembaraan Xianxia baharu! Pramuat turun 'Zhu Xian 2' 'Wuwei Test' kini tersedia Apr 22, 2024 pm 12:50 PM

"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

Raja baharu FPS domestik! Medan Perang 'Operasi Delta' Melebihi Jangkaan Raja baharu FPS domestik! Medan Perang 'Operasi Delta' Melebihi Jangkaan Mar 07, 2024 am 09:37 AM

"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

Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Analisis sebab mengapa direktori sekunder DreamWeaver CMS tidak boleh dibuka Mar 13, 2024 pm 06:24 PM

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

Bagaimana untuk melumpuhkan kes ujian di Maven? Bagaimana untuk melumpuhkan kes ujian di Maven? Feb 26, 2024 am 09:57 AM

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

PHP Jenkins 101: Satu-satunya cara untuk bermula dengan CI/CD PHP Jenkins 101: Satu-satunya cara untuk bermula dengan CI/CD Mar 09, 2024 am 10:28 AM

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

Apakah perbezaan antara ujian fungsi dan liputan dalam bahasa yang berbeza? Apakah perbezaan antara ujian fungsi dan liputan dalam bahasa yang berbeza? Apr 27, 2024 am 11:30 AM

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.

Peranan penutupan fungsi golang dalam pengujian Peranan penutupan fungsi golang dalam pengujian Apr 24, 2024 am 08:54 AM

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.

See all articles