變數型別和計算

2021-10-13 05:36:22 字數 2187 閱讀 9957

一、值型別和引用型別

值型別是直接賦值的,資料型別有:『字串』,『數值』,『布林』,『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...