JS变量类型和计算

变量类型

  • 1.值类型 (赋值之间不会相互影响)
var a = 100
var b = a
a = 200
console.log(b) //100
  • 2.引用类型 :对象,数组,函数 (赋值是变量指针,不是真正的拷贝,指向同一个内存块节省空间。赋值之间会相互影响)
    特点:无限扩大属性。
var a = {age:20}
var b = a
b.age = 21
console.log(a.age) //21
  • typeof运算符
typeof undefined  // undefined
typeof 'abc'   // string
typeof 123   // number
typeof  true   // boolean     以上是值类型

typeof  {}    // object (对象)
typeof  []   // object (数组)
typeof  null  // object (空,但他是object类型)
typeof  console.log  // function (函数)    以上是引用类型

typeof只能区分值类型,区分不了引用类型,function是JS中特殊的级别最高的,可以区分。

变量计算 - 强制类型转换 (值类型)

  • 1.字符串拼接
var a= 100 +10   // 110
var b =100 +'10'  // '10010'
  • 2.==运算符
100 == '100'  // true        将100转成'100'字符串,相等了。
0 == ' '  // true        0是false,  ' '是false,相等了。
null == undefined  // true       同上,都相等了。

== 要慎用,如果是===就不一样了。

  • 3.if语句 (会执行boolean类型)
var  a = true
if (a) { 
      //  ...true
}
var b = 100
if (b) {
     //  ...true
}
var c = ' '
if (c) {
    //  ...false
}
  • 4.逻辑运算符
console.log(10 && 0)   // 0  10=true,0=false.返false,0.
console.log('  ' || 'abc')    // 'abc'  ' '=false,'abc'=true,返true,'abc'
console.log( !window.abc)   // true   window.abc=undefined,undefined转true.

//判断一个变量被当做true 还是false
var a = 100
console.log(!!a)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。