Web前端面试准备(二)变量类型和计算

题目
Web前端面试准备(二)变量类型和计算
搭眼一看能答上来几个

看能延伸出哪些知识,哪些其他的题目

变量类型

  • 值类型 vs 引用类型
  • typeof运算符详解

值类型

var a = 100
var b = a
a = 200
console.log(b) //100

每个变量都能存一个值,不会相互影响

引用类型

var a = {age:20}
var b = a
b.age = 21
console.log(a.age) //21

为什么会有这个区别呢?

引用类型是把a赋值成一个对象,对象存在另一个地方,a内存的位置是通过指针指向这个地方,当把b赋值上a时,时把b也指向到这个地方,这时a和b都同时指向到这个地方
所以叫引用类型,修改的是存储的地方的值。

引用类型:对象、数组、函数
特点:可以无限制扩展属性

typeof运算符
6种

typeof undefined //undefined
typeof 'abc' //string
typeof 123 //number
typeof true //boolean
typeof {} //object
typeof [] //object
typeof null //object
typeof console.log //function

变量计算
-----------强制类型转换

  • 字符串拼接
  • ==运算符
  • if语句
  • 逻辑运算

字符串拼接

var a = 100 + 10 //110
var b = 100 + '10' //'10010'

==运算符

100 = '100' //true
0 == '' //true
null == undefined //true 

if语句

var a = true
if(a){
	//...
}
var b = 100
if(b){//b=>bool=>true
	//...
}
var c = ''
if(c){//false
	//...	
}

逻辑运算符

console.log(10 && 0) //0
// 10=>true true&&0=>0
console.log('' || 'abc') //'abc'
console.log(!window.abc) //true

// 判断一个变量会被当做true 还是 false
var a = 100
console.log(!!a)
将变量变为true或者false

好!