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