摘要:聲明變量并初始化值為原始類型,一般稱之為字面量方式定義變量,或直接量方式定義變量。浮點(diǎn)類型表示包含小數(shù)部分。浮點(diǎn)類型所占的空間是整數(shù)類型的兩倍。
原始類型
原始類型,又稱原始值,是直接代表JavaScript語言實(shí)現(xiàn)的最底層數(shù)據(jù)。
原始類型分為 boolean類型、number類型、string類型三種。
聲明變量并初始化值為原始類型,一般稱之為字面量方式定義變量,或直接量方式定義變量。
number類型包括整數(shù)類型和浮點(diǎn)類型
整數(shù)類型:包括負(fù)整數(shù)、0、正整數(shù)。
浮點(diǎn)類型:表示包含小數(shù)部分。浮點(diǎn)類型所占的空間是整數(shù)類型的兩倍。
var num1 = 0.1; console.log(num1); /* 浮點(diǎn)類型 - ".1"表示"0.1"的含義 -> 不推薦 */ var num2 = .1; console.log(num2); var num3 = 10.1; console.log(num3); /* 浮點(diǎn)類型 - ".0"表示為整數(shù) */ var num4 = 10.0; console.log(num4); /* 浮點(diǎn)類型 - "."表示為整數(shù) */ var num5 = 10.; console.log(num5);浮點(diǎn)類型的計(jì)算誤差
由于小數(shù)部分只能表示有限的個(gè)數(shù),在四舍五入的過程中有可能出現(xiàn)誤差。
/* number類型中的小數(shù),在計(jì)算時(shí)可能出現(xiàn)誤差 * 并不是所有的小數(shù)計(jì)算都出現(xiàn)誤差 * 小數(shù)的計(jì)算時(shí),注意結(jié)果是否出現(xiàn)誤差 * 通過數(shù)字值的換算,將其轉(zhuǎn)換成整數(shù)進(jìn)行計(jì)算,再將結(jié)果換算為小數(shù) */ var x = 0.3; var y = 0.2; console.log(x - y);// 0.1NaN
NaN(Not a Number),非數(shù)值,是一個(gè)特殊的數(shù)值。
NaN與任和值都不相等,包括NaN本身
任何涉及NaN的操作都會(huì)返回NaN
var num = Number("化物語");//將string類型轉(zhuǎn)換成number類型 console.log(num)//NaN 這個(gè)值不是一個(gè)數(shù)字 console.log(typeof num)//number 這是一個(gè)number類型string類型
/* * string類型的值用單引號(hào)或雙引號(hào)包裹 * 值的內(nèi)容可以是所有字符 * string類型 - 文本本身需要單引號(hào)或雙引號(hào)時(shí) 1.如果需要的是雙引號(hào),字符串只能使用單引號(hào) 2.如果需要的是單引號(hào),字符串只能使用雙贏好*/ var str1 = "化物語" console.log(str1) var str2 = "化物語" console.log(str2)boolean類型
布爾類型是指真假、開關(guān)、是否,它的值只有ture和false
ture和false都是小寫
var boo = true console.log(boo);//truetypeof運(yùn)算符
由于JavaScritp是弱類型的,所以需要一種手段檢測(cè)給定變量的數(shù)據(jù)類型。typeof就是用來檢測(cè)數(shù)據(jù)類型
typeof運(yùn)算符判斷原始類型的數(shù)據(jù)類型
var boo = true; var str = "化物語"; console.log(typeof num);// number console.log(typeof boo);// boolean console.log(typeof str);// string var result = typeof num; console.log(result);// number console.log(typeof result);// string包裝類型
在JavaScript中是區(qū)分大小寫的,寫法上,原始類型全部小寫,包裝類型全部大寫。
一般不建議用包裝類型定義對(duì)應(yīng)的數(shù)據(jù)類型,單包裝類型提供了操作相應(yīng)值的方法
/* 通過包裝類型創(chuàng)建一個(gè)數(shù)字值類型的變量 * var 變量名稱 = new Number(數(shù)字值) * new Number() -> 創(chuàng)建了一個(gè)Number類型的對(duì)象 * 以下兩種方式創(chuàng)建的數(shù)字值,在使用上沒有任何區(qū)別 */ /* 構(gòu)造函數(shù)方式 */ var num1 = new Number(100); console.log(num1);/* [Number: 100] */ /* 字面量/直接量方式 */ var num2 = 100; console.log(num2);/* 100 */ console.log(typeof num2);// number console.log(typeof num1);// object(對(duì)象) var str1 = new String("化物語"); console.log(str1); var str2 = "化物語"; console.log(str2); var boo1 = new Boolean(true); console.log(boo1); var boo2 = true; console.log(boo2);instanceof運(yùn)算符
相對(duì)于typeof運(yùn)算符只能測(cè)試原始類型數(shù)據(jù)的類型,instanceof運(yùn)算符可以判斷包裝類型(引用類型)
var str = new String("臥龍學(xué)苑"); var num = new Number(100); var boo = new Boolean(true); // instanceof運(yùn)算符用于判斷引用類型(包裝類型) console.log(str instanceof String);// true /* typeof運(yùn)算符與instanceof運(yùn)算符的區(qū)別 * typeof運(yùn)算符 1.用于判斷原始類型 2.語法結(jié)構(gòu)不同 -> typeof 變量名稱 3.得到結(jié)果不同 -> 原始類型的名稱 * instanceof運(yùn)算符 1.用于判斷引用類型(包裝類型) 2.語法結(jié)構(gòu)不同 -> 變量名稱 instanceof 引用類型名稱 3.得到結(jié)果不同 -> 布爾類型的值(true或false) */undefined
undefined表示空的數(shù)據(jù)類型,他只有一個(gè)值,就是undefined
* 如果一個(gè)變量的值等于undefined -> 變量是存在的,但沒有值 * undefined類型中只存在一個(gè)值(undefined) 得到undefined值的情況如下: 1.定義變量時(shí),只聲明,而不初始化值 -> undefined 2.定義變量時(shí),初始化值為 undefined -> undefined 注意 - 得到undefined值的情況不止以上兩種 */ var v; console.log(v); var c = undefined; console.log(c); console.log(typeof v);// undefined - 類型名稱null
表示一個(gè)不在質(zhì)量任何內(nèi)存空間地址的變量,多用于釋放內(nèi)存
null類型只存在一個(gè)值null
var v = null; console.log(v);// null類型轉(zhuǎn)換 隱式類型裝換
由于JavaScript是弱類型/松散類型的,在任何情況下都可以強(qiáng)制轉(zhuǎn)換。
var num =100; var str ="化物語"; var boo =true; //轉(zhuǎn)換為number類型 var result1 = +str; console.log(typeof result1);//number var result2 = +true; console.log(typeof result2);//number //轉(zhuǎn)換為string類型 var result3 = "" + num console.log(typeof result3)//string var result4 ="" + boo console.log(typeof result4)//string //轉(zhuǎn)換為boolean類型 var result5 = !!num console.log(typeof result5)//boolean var result6 = !!str console.log(typeof result6)//boolean顯示類型轉(zhuǎn)換
// 定義number類型、string類型以及boolean類型的變量 var num = 100; var str = "化物語"; var str1 = "100"; var str2 = "100.7" var boo = false; /* 1.轉(zhuǎn)換為string類型 * String()函數(shù) -> String(值) * toString()方法 -> 變量名.toString() * 對(duì)象的方法 -> 將變量當(dāng)作是一個(gè)對(duì)象來使用 */ var result1 = String(num); console.log(typeof result1);// string var result2 = num.toString(); console.log(typeof result2);// string /* 2.轉(zhuǎn)換為number類型 * Number()函數(shù) -> Number(值) * parseInt()函數(shù) -> parseInt(值) * 轉(zhuǎn)換為number類型,轉(zhuǎn)換為一個(gè)整數(shù) * parseFloat()函數(shù) -> parseFloat(值) * 轉(zhuǎn)換為number類型,轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù) */ var result3 = Number(boo); console.log(typeof result3);// number var result4 = parseInt(str1); console.log(typeof result4);// 100 var result5 = parseFloat(str1);// 100 console.log(result5);// 100 var result6 = parseInt(str2);// 100.1 console.log(result6);// 如果當(dāng)前值為小數(shù)的話,parseInt()后取整數(shù)部分 - 100 var result7 = parseFloat(str2);// 100.1 console.log(result7);// 100.1 /* 3.轉(zhuǎn)換為boolean類型 * Boolean()函數(shù) -> Boolean(值) */ var result8 = Boolean(str); console.log(result8);// true
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/96713.html
摘要:作用域鏈的作用就是做標(biāo)示符解析。事件循環(huán)還有個(gè)明顯的特點(diǎn)單線程。早期都是用作開發(fā),單線程可以比較好當(dāng)規(guī)避同步問題,降低了開發(fā)門檻。單線程需要解決的是效率問題,里的解決思想是異步非阻塞。 0、前言 本人在大學(xué)時(shí)非常癡迷java,認(rèn)為java就是世界上最好的語言,偶爾在項(xiàng)目中會(huì)用到一些javascript,但基本沒放在眼里。較全面的接觸javascript是在實(shí)習(xí)的時(shí)候,通過這次的了解發(fā)現(xiàn)...
摘要:不過讓流行起來的原因應(yīng)該是是目前所有主流瀏覽器上唯一支持的腳本語言。經(jīng)過測(cè)試,數(shù)字字符串布爾日期可以直接賦值,修改不會(huì)產(chǎn)生影響。再考慮對(duì)象類型為或者的情況。對(duì)于結(jié)果聲明其類型。判斷對(duì)象的類型是還是,結(jié)果類型更改。 轉(zhuǎn)載自我的個(gè)人博客 歡迎大家批評(píng)指正 1. 第一個(gè)頁面交互 這里最需要學(xué)習(xí)的老師的代碼中,每一部分功能都由函數(shù)控制,沒有創(chuàng)建一個(gè)全部變量。且最后有一個(gè)函數(shù)來控制執(zhí)行代碼...
摘要:多數(shù)運(yùn)算符都是由標(biāo)點(diǎn)符號(hào)表示,比如和。通常會(huì)根據(jù)需要對(duì)操作數(shù)進(jìn)行類型轉(zhuǎn)換左值是一個(gè)古老的屬于,它是指表達(dá)式只能出現(xiàn)在賦值運(yùn)算符的左側(cè)。也稱為嚴(yán)格相等運(yùn)算符,它用來檢測(cè)兩個(gè)操作數(shù)是否嚴(yán)格相等。運(yùn)算符的檢測(cè)規(guī)則是和運(yùn)算符的求反。 源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/...
摘要:對(duì)象數(shù)組初始化表達(dá)式,闖關(guān)記之上文檔對(duì)象模型是針對(duì)和文檔的一個(gè)。闖關(guān)記之?dāng)?shù)組數(shù)組是值的有序集合。數(shù)組是動(dòng)態(tài)的,根闖關(guān)記之語法的語法大量借鑒了及其他類語言如和的語法。 《JavaScript 闖關(guān)記》之 DOM(下) Element 類型 除了 Document 類型之外,Element 類型就要算是 Web 編程中最常用的類型了。Element 類型用于表現(xiàn) XML 或 HTML 元素...
摘要:在編程語言中,能夠表示并操作的值的類型稱做數(shù)據(jù)類型。中的原始類型包括數(shù)字,字符串和布爾值。日期與時(shí)間語言核心包括構(gòu)造函數(shù),用來創(chuàng)建表示日期和時(shí)間的對(duì)象。其規(guī)則為如果是布爾值,和分別被轉(zhuǎn)換為和如果是數(shù)字值,返回本身。 源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/Javas...
閱讀 1820·2021-11-23 09:51
閱讀 927·2021-10-08 10:05
閱讀 3421·2021-09-26 09:55
閱讀 1030·2021-09-22 15:21
閱讀 1626·2021-09-09 09:33
閱讀 1236·2019-08-30 15:56
閱讀 1275·2019-08-30 15:55
閱讀 958·2019-08-30 13:19