国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端控制臺報(bào)錯(cuò)is not defined

這篇具有很好參考價(jià)值的文章主要介紹了前端控制臺報(bào)錯(cuò)is not defined。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景:

前端控制臺報(bào)錯(cuò)is not defined的bug,在一個(gè)頁面渲染的模板里,多個(gè)接口都使用了同一個(gè)模板,但是接口返回的參數(shù)是不同的。有些接口返回了這個(gè)參數(shù),另一些接口可能壓根就沒有這個(gè)參數(shù)。這個(gè)時(shí)候進(jìn)行頁面渲染,調(diào)用了那個(gè)不存在的參數(shù),就報(bào)了is not defined的錯(cuò)。

Is not defined是程序上的錯(cuò),因?yàn)闆]有聲明這個(gè)變量就使用了它導(dǎo)致的報(bào)錯(cuò)。

解決方法:

面對這種情況,不能提前聲明、防止重復(fù)聲明,普通的判空方法會報(bào)錯(cuò),又必須要進(jìn)行判空。這時(shí)候使用typeof XX != ‘undefined’ && XX進(jìn)行判空處理,第一個(gè)是判斷是否定義,第二個(gè)是判斷空值。

那么undefined instanceof XX起效嗎? 答案是仍然會報(bào)錯(cuò)
那么typeof XX != 'null’起效嗎?XX實(shí)際上是undefined,而非null,雖然結(jié)果為true,但是下一步值判空還是會報(bào)錯(cuò)。

原因排查:
其他參考:
https://www.jb51.net/article/240832.htm

Javascript中undefined和not defined有什么區(qū)別?
概念上的解釋:
undefined是javascript語言中定義的五個(gè)原始類中的一個(gè),換句話說,undefined并不是程序報(bào)錯(cuò),而是程序允許的一個(gè)值。
not defined是javascript在運(yùn)行我們的javascript代碼時(shí),遇到?jīng)]有定義就用來運(yùn)算的變量時(shí)爆出來的錯(cuò)誤。

在許多的javascript教程中都介紹有javascript變量即使不定義也可以直接拿來使用,但是請注意,這個(gè)使用是指可以被賦值,但是不可以被運(yùn)算文章來源地址http://www.zghlxwxcb.cn/news/detail-717526.html

XX = 123; //未定義參數(shù)可以被賦值,是可以執(zhí)行的
YY ? true : false ;//未定義參數(shù)不可使用,是is not defined

到了這里,關(guān)于前端控制臺報(bào)錯(cuò)is not defined的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包