Kemungkinan Duplikat:
Mendeteksi properti objek yang tidak terdefinisi dalam JavaScript,
javascript, undefined, bandingkan
Bagaimana kami dapat menambahkan tanda centang untuk variabel yang tidak terdefinisi, seperti:
function A(val) {
if (val == undefined)
// do this
else
// do this
}
javascript
jquery
undefined
Gaurav
sumber
sumber
Jawaban:
Pustaka JQuery dikembangkan secara khusus untuk menyederhanakan dan menyatukan fungsi JavaScript tertentu.
Namun jika Anda perlu memeriksa variabel terhadap
undefined
nilai, tidak perlu menemukan metode khusus, karena JavaScript memilikitypeof
operator, yang sederhana, cepat, dan lintas platform:Ini mengembalikan string yang menunjukkan jenis variabel atau operan yang tidak dievaluasi lainnya. Keuntungan utama dari metode ini, dibandingkan dengan
if (value === undefined) { ... }
, adalah bahwatypeof
tidak akan pernah meningkatkan pengecualian jika variabelvalue
tidak ada.sumber
("#myId")
, pastikan apa yang benar-benar Anda butuhkan: a.typeof ("#myId")=== "undefined"
b. Atau:typeof ("#myId").val() === "undefined"
("#myId")
tidak lain adalah string konstan. Itu akan selalu didefinisikan dan memiliki tipe"string"
. Jika Anda maksud objek jQuery aktual dibuat dengan$("#myId")
, itu akan selalu didefinisikan sebagai"object"
(jika Anda memiliki jQuery ditautkan dengan benar). Keberadaan elemen DOM dengan IDmyId
dapat dinilai denganif ($("#myId").length > 0) { ... }
, sementara memeriksa apakah nilainya tidak kosong dapat dilakukanif ($("#myId").val()) { ... }
. Tidak satu pun dari klausa ini yang benar-benar berhubungan dengan topik pertanyaan ini.value === undefined
akan memunculkan pengecualian jikavalue
variabel tidak ada. Jadi sepenuhnya terserah Anda apa yang harus digunakan dalam kehidupan nyata.Dalam hal ini Anda dapat menggunakan
=== undefined
perbandingan:if(val === undefined)
Ini berfungsi karena
val
selalu ada (ini adalah argumen fungsi).Jika Anda ingin menguji variabel arbitrer yang bukan merupakan argumen, yaitu mungkin tidak didefinisikan sama sekali, Anda harus menggunakan
if(typeof val === 'undefined')
untuk menghindari pengecualian jikaval
tidak ada.sumber
Perhatikan bahwa typeof selalu mengembalikan string, dan tidak menghasilkan kesalahan jika variabel tidak ada sama sekali.
sumber
===
bukannya==
Saya tahu saya terlambat untuk menjawab fungsi tetapi jquery memiliki fungsi build untuk melakukan ini
Lihat dokumen API jquery tentang jquery.type https://api.jquery.com/jQuery.type/ untuk hal yang sama.
sumber
Anda dapat menggunakan teknik steno untuk memeriksa apakah itu tidak terdefinisi atau nol
Semoga ini bisa membantu Anda
sumber
sumber
ketika saya menguji "
typeof obj === undefined
",alert(typeof obj)
pengembalianobject
, meskipun obj tidak terdefinisi. Karena obj adalah jenisObject
pengembaliannyaObject
, bukanundefined
.Jadi setelah berjam-jam pengujian saya memilih teknik di bawah ini.
Saya tidak yakin mengapa teknik pertama tidak berhasil. Tapi saya menyelesaikan pekerjaan saya menggunakan ini.
sumber
Jika Anda memiliki nama elemen dan bukan id, kami dapat mencapai pemeriksaan yang tidak ditentukan pada semua elemen teks (misalnya) seperti di bawah ini dan mengisinya dengan nilai default misalkan 0,0:
sumber
Saya tidak yakin itu adalah solusi terbaik, tetapi berfungsi dengan baik:
sumber
coba ini ~ semua jenis pemeriksa
sumber
Anda dapat menggunakan dua arah 1)
if ( val == null )
2)if ( val === undefine )
sumber