美文网首页
JS基本类型和引用类型

JS基本类型和引用类型

作者: dosher_多舍 | 来源:发表于2019-02-26 20:48 被阅读0次

一个变量可以存放两种类型的值,基本类型的值(primitive values)和引用类型的值(reference values)。

JS拥有七种数据类型,其中:

基本类型(值类型)NumberStringBooleanSymbolUndefinedNull

基本数据类型的值是按值访问的,变量是存放在栈内存(Stack)里。

var a = 1
var b = a
a = 10
console.log(b) // b = 1

引用类型Object

Array、Function、RegExp属于Object

引用类型的值是按引用访问的,栈内存保存变量标识符和指向堆内存中该对象的指针,堆内存保存了对象的内容。

var a = { age: 1 }
var b = a
b.age = 2
console.log(a) // { age: 2 }

类型的检测

  • typeof:经常用来检测一个变量是不是最基本的数据类型。
// 基本
typeof 123           // number
typeof '123'         // string
typeof true          // boolean
typeof Symbol()      // symbol
typeof undefined     // undefined
// 历史遗留bug,空指针对象
typeof null          // object    
// 引用
typeof /123/ig       // object
typeof {}            // object
typeof []            // object
typeof function(){}  // function  函数是特殊的引用类型,所以能区分
  • instanceof:用来判断某个构造函数的 prototype 属性所指向的对象是否存在于另外一个要检测对象的原型链上。
({}) instanceof Object              // true
([]) instanceof Array               // true
(/aa/g) instanceof RegExp           // true
(function(){}) instanceof Function  // true

变量计算-强制类型转换

  • 字符串拼接
var a = 10           // number
var b = '10'         // string
var c = a + b        // '1010' string
  • ==运算符
100 == '100'         // true
0 == ''              // true
null == undefined    // true
  • if语句
var a = 100
if(a) {}             // a = 100 => true

var b = ''
if(b) {}             // b = '' => false
  • 逻辑运算
(10 && 0)            // 0
('' || '123')        // '123'
(!100)               // false
(!0)                 // true

// 运用两个 !! 把一个值当做true或false
var a = 100
(!!a)                // true

拓展: 什么时候用 == 和 ===

当if(obj.a == null){}判断时候,此时等于if(obj.a === null || obj.a === undefined){}

相关文章

  • js基本类型与引用类型

    1.js基本类型和引用类型 首先js的变量有两种类型,基本类型值和引用类型值 基本数据类型:null,undefi...

  • JS变量,作用域,内存问题

    基本类型和引用类型 js中变量类型分为两大类。基本类型和引用类型。基本类型指值直接保存在变量本地的类型。引用类型变...

  • JS变量类型,存储方式以及特点

    1.JS变量类型 JS变量类型分为基本类型和引用类型 基本类型:基本类型有Undefined,String,Num...

  • js数据类型

    JS基本数据类型和引用数据类型(JS 基本数据类型和引用数据类型的区别及浅拷贝和深拷贝) 再讲 js 的基本数据类...

  • 执行环境、作用域链

    理解基本类型和引用类型 基本类型 点击浏览JS的基本数据类型 引用类型 1.什么是引用类型引用类型的值是保存在内存...

  • 引用类型与对象拷贝

    引用类型有哪些?非引用类型有哪些? JS中的数据类型分为基本类型和引用类型。基本类型:数值(number)、字符串...

  • 引用类型和对象拷贝

    一、引用类型有哪些?非引用类型有哪些 JS 中分基本类型和引用类型。 基本类型值(数值、布尔值、字符串、null和...

  • 深入理解JS的数据类型

    js数据类型主要分为基本数据类型和引用数据类型 基本数据类型和引用数据类型的区别:基本数据类型是对值得引用,引用数...

  • js 高级函数

    1:基本类型和引用类型? 2:基本类型和引用类型的区别? 3:js的内存方式? 4:浏览器解析js代码的时候的顺序...

  • 【js类型判断】包装类以及isArray,instanceof,

    谈到JS的类型判断,首先我们先了解JS当中的数据类型内容。 JS数据基本类型和引用类型 基本类型:undefine...

网友评论

      本文标题:JS基本类型和引用类型

      本文链接:https://www.haomeiwen.com/subject/egwzyqtx.html