一、值型別和引用型別
值型別是直接賦值的,資料型別有:『字串』,『數值』,『布林』,『symbol』,『undefined』
『null』是乙個特殊型別,指標指向空位址
const obj1=
const obj2=obj1
let x1=obj1.x
obj2.x=
101 x1=
102 console.
log(obj1)
//// 這裡的let x1=obj.x; 是乙個干擾,定義了乙個數值型別,不是引用型別
二、typeof運算子
typeof能判斷所有值型別,null判斷出的是object
//注意判斷值型別判斷和引用型別
//注意判斷是陣列還是物件
//遞迴
//手寫深拷貝
arr=
[100,[
,],]
;//判斷修改的是不是'object'或者null,如果不是 object 或者 null 那麼直接返回
function
deepclone
(obj =
) let result;
//判斷上面下來的obj是不是陣列 用instanceof來檢測 因為是陣列引用型別
obj instanceof
array
?result=
:result=
for(var item in obj)
}return result;
} let arr1=
deepclone
(arr)
; arr1[1]
[0].a=
'vue'
arr1[0]
=99console.
log(
'原陣列'
,arr)
console.
log(
'新陣列'
,arr1)
<
/script>
三、變數計算-型別轉換
1.字串拼接
let a=
100+10;
//110
let b=
100+
'10'
;//'10010'
let c=
true
+'10'
//'true10'
2.==運算子
==隱式的做一些型別轉換,長詩相等
// 除了==null或undefined,其他一律都用===
100==
'100'
//true0==
''//true0==
false
//true
false
==''
//true
null
==undefined //true
3.if語句和邏輯語句
如果是兩步非true運算就是 truly變數
如果是兩步非false運算就是 falsely變數
// 除了這些是falsely變數,其他都是truely變數!!
0===
false
!!nan===
false!!
""===
false!!
null
===false
!!undefined===
false!!
false
===false
//truly變數
conse a=
true;if
(a)//falsely變數
const c=
''if
(c)//truly會直接返回
console.
log(
10&&0)
//0 console.
log(
''||
'abc'
)//'abc'
console.
log(
!window.abc)
//true
JS基礎變數型別和計算
值型別 let a 100let b a a 200 console.log b 100引用型別 let a let b a b.age 21console,log a.age 常見引用型別 const obj const arr a b c const n null 特殊引用型別,指標指向為空的位...
JS(面試中變數型別和計算)
js 變數型別和計算 題目1.js 中使用 typeof 能得到那些型別?題目2.何時使用 何時使用 題目3.js 中有哪些內建函式?題目4.js 變數按照儲存方式區分為那些型別,描述其特點?題目5.如何理解 json 一 變數型別 儲存方式 1.值型別 值型別是把值儲存在具體的位置,a 儲存100...
型別和變數
c 裡的變數型別,也是兩類 值型別value type sbyte short int longbool float double char引用型別 reference type object string 自定義的class using system using system.collection...