摘要:原始類(lèi)型保存在本地的數(shù)據(jù)類(lèi)型,主要有,,,,類(lèi)型存儲(chǔ)整數(shù)和浮點(diǎn)數(shù)的類(lèi)型整數(shù)輸出結(jié)果,為整數(shù)浮點(diǎn)數(shù)輸出結(jié)果輸出結(jié)果雖然賦值是但是引擎會(huì)自動(dòng)在前面補(bǔ)上,變成輸出結(jié)果會(huì)自動(dòng)去掉后面的那個(gè)變成浮點(diǎn)數(shù)在計(jì)算時(shí)可能會(huì)出現(xiàn)誤差輸出結(jié)果一個(gè)不是數(shù)字的數(shù)字
原始類(lèi)型:保存在本地的數(shù)據(jù)類(lèi)型,主要有boolean,number,string,undefined,null
number類(lèi)型:存儲(chǔ)整數(shù)和浮點(diǎn)數(shù)的類(lèi)型
整數(shù):
var num=100; console.log(num);//輸出結(jié)果:100,100為整數(shù) **
浮點(diǎn)數(shù):
var num1=10.1; console.log(num1);//輸出結(jié)果:10.1 var num2=.1; console.log(num2);//輸出結(jié)果:0.1,雖然賦值是.1,但是js引擎會(huì)自動(dòng)在前面補(bǔ)上0,變成0.1 var num3=10.; console.log(num3);//輸出結(jié)果:10,js會(huì)自動(dòng)去掉10.后面的那個(gè).變成10 /*浮點(diǎn)數(shù)在計(jì)算時(shí)可能會(huì)出現(xiàn)誤差*/ var x=0.3; var y=0.2; console.log(x-y);//輸出結(jié)果:0.09999999999999998
NaN:一個(gè)不是數(shù)字的數(shù)字,它跟任何數(shù)作比較都不相等,跟自己作比較也不相等
console.log(NaN==NaN);//輸出結(jié)果:false,不等于 console.log(NaN==20);//輸出結(jié)果:false,同樣不等于
無(wú)窮大:表示一個(gè)數(shù)字除不盡,無(wú)窮大不等于另一個(gè)無(wú)窮大,無(wú)窮大減去另一個(gè)無(wú)窮大不等于零
var num=80/0; console.log(num);//輸出結(jié)果:Infinity,Infinity就是無(wú)窮大的意思,因?yàn)?不能作為被除數(shù)
string類(lèi)型:在js中,用單引號(hào)或者雙引號(hào)包裹的內(nèi)容都成為字符串
語(yǔ)法結(jié)構(gòu):
var str="hello"; console.log(str);//輸出結(jié)果:hello var str1="good"; console.log(str1);//輸出結(jié)果:good
轉(zhuǎn)義字符:
console.log("xxx yyy");//這里的 代表?yè)Q行符
boolean類(lèi)型:只有兩個(gè)值:true或者false
console.log(8==9);//輸出結(jié)果:fasle console.log(9==9);//輸出結(jié)果:true
undefined:js中指的是未定的的值,表示為空,如果一個(gè)變量的值為undefined,那么是存在在內(nèi)存中的,只是沒(méi)有值,得到undefined的情況是只聲明不初始化值或者定義變量時(shí),初始化值為undefined
var num; console.log(num);//輸出結(jié)果:undefined,因?yàn)闆](méi)有給變量名賦值,所以得到undefined var num1=undefined; console.log(num1);//輸出結(jié)果:undefined,直接給變量名賦值undefined,也可以得到undefined
null:用于給指定的變量進(jìn)行內(nèi)存釋放,通常這個(gè)是通過(guò)程序員自己設(shè)置的,通常用來(lái)釋放一個(gè)變量的占據(jù)內(nèi)存空間
var conten=null;//語(yǔ)法結(jié)構(gòu)引用類(lèi)型:數(shù)據(jù)不保存在本地
Number類(lèi)型:通過(guò)Number類(lèi)型創(chuàng)建一個(gè)數(shù)字的值的變量
var num=new Number(100);//創(chuàng)建一個(gè)構(gòu)造函數(shù) console.log(num);//輸出結(jié)果:[Number: 100];
String類(lèi)型:通過(guò)String類(lèi)型創(chuàng)建一個(gè)字符串的值得變量
var str=new String("hello");//創(chuàng)建一個(gè)構(gòu)造函數(shù) console.log(str);//輸出結(jié)果:[String: "hello"]
typeof運(yùn)算符:主要是用來(lái)判斷原始類(lèi)型的類(lèi)型名稱(chēng)
var num=100; var bol=true; var str="hello"; console.log(typeof num);//輸出結(jié)果:number console.log(typeof bol);//輸出結(jié)果:boolean console.log(typeof str);//輸出結(jié)果:string
instanceof運(yùn)算符:主要是用來(lái)判斷引用類(lèi)型的類(lèi)型名稱(chēng)
var str=new String("hello"); var num=new Nember(100); var bol=new Boolean(true); console.log(str instanceof String);//輸出結(jié)果:true console.log(num instanceof String);//輸出結(jié)果:false console.log(bol instanceof Boolean);//輸出結(jié)果:true
typeof運(yùn)算符和instanceof運(yùn)算符的比較區(qū)別:
typeof運(yùn)算符
判斷原始類(lèi)型
語(yǔ)法結(jié)構(gòu)不同與instanceof運(yùn)算符的語(yǔ)法結(jié)構(gòu)不同
得到結(jié)果不同與instanceof運(yùn)算符的結(jié)果不同
instanceof運(yùn)算符
判斷引用類(lèi)型
語(yǔ)法結(jié)構(gòu)不同與typeof運(yùn)算符的語(yǔ)法結(jié)構(gòu)不同
得到結(jié)果不同與typeof運(yùn)算符的結(jié)果不同
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/96644.html
摘要:中對(duì)內(nèi)存的一些了解在進(jìn)行開(kāi)發(fā)的過(guò)程中了解內(nèi)存機(jī)制有助于開(kāi)發(fā)人員能夠清晰的認(rèn)識(shí)到自己寫(xiě)的代碼在執(zhí)行的過(guò)程中發(fā)生過(guò)什么也能夠提高項(xiàng)目的代碼質(zhì)量?jī)?nèi)存是怎么樣的中變量存放有著原始值與引用值之分原始值原始的數(shù)據(jù)類(lèi)型以及新加入的引用值等類(lèi)型的值便是引用 JS中對(duì)內(nèi)存的一些了解 在JS進(jìn)行開(kāi)發(fā)的過(guò)程中, 了解JS內(nèi)存機(jī)制有助于開(kāi)發(fā)人員能夠清晰的認(rèn)識(shí)到自己寫(xiě)的代碼在執(zhí)行的過(guò)程中發(fā)生過(guò)什么, 也能夠提高...
摘要:本文從底層原理到實(shí)際應(yīng)用詳細(xì)介紹了中的變量和類(lèi)型相關(guān)知識(shí)。內(nèi)存空間又被分為兩種,棧內(nèi)存與堆內(nèi)存。一個(gè)值能作為對(duì)象屬性的標(biāo)識(shí)符這是該數(shù)據(jù)類(lèi)型僅有的目的。 導(dǎo)讀 變量和類(lèi)型是學(xué)習(xí)JavaScript最先接觸到的東西,但是往往看起來(lái)最簡(jiǎn)單的東西往往還隱藏著很多你不了解、或者容易犯錯(cuò)的知識(shí),比如下面幾個(gè)問(wèn)題: JavaScript中的變量在內(nèi)存中的具體存儲(chǔ)形式是什么? 0.1+0.2為什...
摘要:結(jié)合實(shí)際中的情況來(lái)看,有意或無(wú)意中涉及到隱式類(lèi)型轉(zhuǎn)換的情況還是很多的。此外當(dāng)進(jìn)行某些操作時(shí),變量可以進(jìn)行類(lèi)型轉(zhuǎn)換,我們主動(dòng)進(jìn)行的就是顯式類(lèi)型轉(zhuǎn)換,另一種就是隱式類(lèi)型轉(zhuǎn)換了。 前言 相信剛開(kāi)始了解js的時(shí)候,都會(huì)遇到 2 ==2,但 1+2 == 1+2為false的情況。這時(shí)候應(yīng)該會(huì)是一臉懵逼的狀態(tài),不得不感慨js弱類(lèi)型的靈活讓人發(fā)指,隱式類(lèi)型轉(zhuǎn)換就是這么猝不及防。結(jié)合實(shí)際中的情況來(lái)看...
摘要:為了避免某些場(chǎng)景下的意外,甚至推崇直接使用來(lái)代替。使用了運(yùn)算符的一些規(guī)則,發(fā)生了類(lèi)型轉(zhuǎn)換。按照以下規(guī)則轉(zhuǎn)換被傳遞參數(shù)直接返回直接返回直接返回直接返回直接返回返回一個(gè)對(duì)象的默認(rèn)值。 前言 類(lèi)型轉(zhuǎn)換在各個(gè)語(yǔ)言中都存在,而在 JavaScript 中由于缺乏對(duì)其的了解而不慎在使用中經(jīng)常造成bug被人詬病。為了避免某些場(chǎng)景下的意外,甚至推崇直接使用 Strict Equality( === )...
摘要:返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。布爾值中布爾值有兩個(gè)和和都表示值的空缺,但事從背后更深遠(yuǎn)的角度考慮,他們的還是有差別的。首先我們來(lái)看一下類(lèi)型轉(zhuǎn)化表任意的值都可以轉(zhuǎn)換為布爾值,只有會(huì)被轉(zhuǎn)換為,其他所有值都會(huì)被轉(zhuǎn)換成。 開(kāi)辟了一個(gè)關(guān)于javascript的基礎(chǔ)系列,更加深入、細(xì)致的了解這門(mén)語(yǔ)言。今天分享的是js的數(shù)據(jù)類(lèi)型。 javascript的數(shù)據(jù)類(lèi)型可以分為兩類(lèi):原始類(lèi)...
閱讀 3118·2021-10-12 10:12
閱讀 1635·2021-09-09 11:39
閱讀 1961·2019-08-30 15:44
閱讀 2411·2019-08-29 15:23
閱讀 2949·2019-08-29 15:18
閱讀 3027·2019-08-29 13:02
閱讀 2758·2019-08-26 18:36
閱讀 793·2019-08-26 12:08