js的七種內建型別
變數型別typeof判斷型別的轉換object.prototype.tostring.call(xx) //可以用這個來獲取正確的變數型別
轉boolean:
除了四則運算undefined
null
false
nan
``
0
-0
之外的所有的值都轉成true,包括物件
1 + '1' // '11';加法中一方為字串,將number型別轉化成字串
2 * '2' // 4;乘法中一方為數字將另外一方轉化成數字
[1, 2] + [2, 1] // '1,22,1'
// [1, 2].tostring(
) ->
'1,2'
// [2, 1].tostring(
) ->
'2,1'
// '1,2' + '2,1'
='1,22,1'
另外加法中要注意:
'a' + + 'b' // ->
"anan"
// 因為 + 'b' -> nan
==基本操作符
; //true;返回將字串化成number的結果
nan == nan; //false
false
==false
; //true
true
==true
; //true
//若一方為boolean則返回number(這個boolean值)
== 要比較的值的結果;number(true)為1,number(false)為0;例如:
==false
; //true
//如果一方為string或者number另外一方為object,那麼返回比較object轉化的結果
有意思的一道題== !
的結果為true解析:
// [
] 轉成 true,然後取反變成 false
==false
// 根據第 8 條得出
== tonumber(false)
== 0
// 根據第 10 條得出
toprimitive(
)== 0
// [
].tostring(
) ->
''''
== 0
// 根據第 6 條得出
0 == 0 // ->
true
JS的內建型別
內建型別 js中分為七種內建型別,七種內建型別又分為兩大型別 基本型別和物件 object 基本型別有六種 null,undefined,boolean,number,string,symbol 其中js的數字型別是浮點型別,沒有整型。並且浮點型別基於ieee754標準實現,在使用中會遇到某些bug...
js基礎 內建物件
日期物件 學習 查文件math物件 屬性 方法名 功能math.pi 圓周率math.floor 向下取整 math.ceil 向上取整 math.round 四捨五入版 就近取整 注意 3.5 結果是 3 math.abs 絕對值math.max math.min 求最大和最小值 math.ran...
JS基礎歸納一 引用型別 值型別 JS內建函式
引用型別 陣列 物件 函式 都是可以新增屬性 都是用指標指向儲存位置 js中 typeof能得到的型別 值型別 undefined string boolean number typeof null 引用型別 object var a var b a a 200 console.log b var ...