一:JS基础知识——变量类型和计算

变量类型

 

值类型 vs 引用类型

  • 值类型 
var a = 100
var b = a
a = 200
console.log(b) //100
  • 引用类型
var a = {age:20} //age是a的属性,而a是一个对象,内存中指针指向这个对象
var b = a //a,b都指向同一个对象
b.age = 21
console.log(a.age)  // 21

  引用意为,变量其实是指针。

  引用类型都一样,不光是对象可以有属性,函数和数组也可以有属性。

 

  引用类型:对象,数组,函数。

 

typeof运算符详解

typeof undefined //undefined
typeof 'abc' //string
typeof 123 //number
typeof true //boolean
//typeof只能区分出值类型,以上的是值类型

typeof {} //object对象
typeof [] //object 引用 数组
typeof null //object对象 引用类型 
typeof console.log //function
//typeof以上是引用类型,不能区分出引用类型,但只能区分出函数,因为函数是很特别的引用类型。

  typeof可以详细区分值类型,引用类型只能区分出函数。

 

 

变量计算 - 强制类型转换

  • 字符串拼接
var a = 100 + 10 // 110
var b = 100 + '10' // '10010' 此处发生了类型转换,100从数字转为了字符串
  • ==运算符
100 == '100' //true
0 == '' //true ''为空字符串
null == undefined //true

   慎用==符号,这里换为===就不会出现这种问题。

  • if语句
var a = true
if(a){
    //进
}

var b = 100
if(b){
    //进
}

var c = '' //''是false
if(c){
    //不进
}
  • 逻辑运算
console.log(10 && 0) // 0
console.log('' || 'abc') // 'abc'
console.log(!window.abc) //true  window.abc是undefined

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

var b = ''
console.log(!!b) //false

//只有以下几个表达式,在if判断句里当fasle使用
if(0){}
if(NaN){}
if(''){}
if(null){}
if(undefined){}
if(false){}

理解JSON

问题:如何理解JSON

回答:JSON是一个JS对象。它是一种数据格式,也是一种API,但它不是函数。

JSON.stringify({a:10, b:20}) //作用把对象转为字符串
JSON.parse('{"a":10,"b":20}')  //作用把字符串转为对象

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值