日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JavaScript部分问题

發(fā)布時(shí)間:2025/3/15 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript部分问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

JavaScript中的相等判斷

話題: JavaScript 難度: ?

JavaScript中的相等判斷有嚴(yán)格判斷和帶隱式轉(zhuǎn)換的判斷兩種:

  • 嚴(yán)格判斷(strict comparision): 比如===,比較的時(shí)候不會(huì)隱式轉(zhuǎn)換類(lèi)型;
  • 抽象判斷(abstract comparasion):比如==,比較的時(shí)候會(huì)隱式轉(zhuǎn)換類(lèi)型。
var a = "42"; var b = 42;a == b; // true a === b; // false 復(fù)制代碼

一些簡(jiǎn)單的規(guī)則:

  • 如果兩邊都是布爾類(lèi)型的值,使用===;
  • 如果兩邊是0,"",[],使用===;
  • 所有其它類(lèi)型,使用==是安全的。而且在很多情況下會(huì)簡(jiǎn)化代碼、增加可讀性。

請(qǐng)解釋Null和Undefined

話題: JavaScript 難度: ??

JavaScript和TypeScript有兩個(gè)最基本的類(lèi)型null和undefined。它們的含義是不同的:

  • 如果還沒(méi)有被初始化,則是undefined;
  • 如果不可用,則可以用null來(lái)表示;

請(qǐng)解釋JavaScript中的值和類(lèi)型

話題: JavaScript 難度: ??

下面是JavaScript內(nèi)置的可用類(lèi)型:

  • string
  • number
  • boolean
  • null和undefined
  • object
  • symbol (ES6的新語(yǔ)法)

如果比較JavaScript中的兩個(gè)對(duì)象?

話題: JavaScript 難度: ??

兩個(gè)非基本類(lèi)型的值,比如對(duì)象(包括函數(shù)和數(shù)組)都是通過(guò)引用的形式來(lái)訪問(wèn)。如果直接通過(guò)==和===來(lái)判斷,那么只會(huì)簡(jiǎn)單的判斷其引用地址是否相同,而不是它們實(shí)際對(duì)應(yīng)的值。

如果數(shù)組和字符串做比較,那么數(shù)組會(huì)通過(guò)逗號(hào)拼接轉(zhuǎn)換為字符串。通過(guò)等號(hào)判斷的時(shí)候,兩個(gè)相同的數(shù)組不會(huì)相等,但是和相同數(shù)據(jù)的字符串比較反而相等。

var a = [1,2,3]; var b = [1,2,3]; var c = "1,2,3";a == c; // true b == c; // true a == b; // false 復(fù)制代碼

如果要深度比較,可以使用第三方庫(kù),比如deep-equal或則你自己實(shí)現(xiàn)一個(gè)比較算法。

請(qǐng)解釋undefined和not defined的區(qū)別

話題: JavaScript 難度: ???

在JavaScript中,如果你嘗試使用不存在的還未申明的變量,JavaScript會(huì)拋出錯(cuò)誤var name is not defined。但是如果你用typeof來(lái)查看其類(lèi)型,會(huì)返回undefined。

我們先來(lái)澄清一下聲明和定義的區(qū)別:var x是一個(gè)聲明,因?yàn)槟悴](méi)有定義其具體的值,你只是聲明其存在性。

var x; // declaring x console.log(x); //output: undefined 復(fù)制代碼

var x = 1同時(shí)兼具聲明和定義,我們也可以叫它初始化。在JavaScript中,每一個(gè)變量和函數(shù)聲明都會(huì)被提升到頂部。

如果我們?cè)L問(wèn)一個(gè)聲明了但是未定義的變量,會(huì)返回undefined。

var x; // Declaration if(typeof x === 'undefined') // Will return true 復(fù)制代碼

訪問(wèn)一個(gè)未聲明未定義的變量,會(huì)返回not defined錯(cuò)誤。

console.log(y); // Output: ReferenceError: y is not defined

參考自https://juejin.im/post/5bd95d22e51d45685f442f73

總結(jié)

以上是生活随笔為你收集整理的JavaScript部分问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。