美文网首页
变量那些事~

变量那些事~

作者: 我向你奔 | 来源:发表于2018-02-09 22:21 被阅读40次

大家都知道,在JS中将数据类型分类的话,会分为number,string,boolean,null,undefined和object。其中前五种属于基本类型,object属于复杂类型。但是这并不是我想讲的,今天我想和大家探讨一个问题:使用typeof能得到哪些类型?一拿到问题,可能很多人脑海中的第一反应是答案,但我们实际应该看到和想到的是知识点。
首先,按照变量的存储类型可以分为值类型和引用类型。举个例子:

var a = 1;
var b = a;
console.log(a, b);    // 1,1
a = 2;
console.log(a, b);    // 2,1

在复制时是从一个变量向另一个变量复制基本类型的值,会在变量对象上创建一个新值,然后把该值复制到为新值分配的位置上,所以他们是互不影响的。

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

当从一个变量向另一个变量复制引用类型的值时,同样也会将存储在变量对象中的值复制一份放到为新变量分配的空间中,不同的是,这个值的副本实际上是一个指针,而这个指针指向存储在堆中的一个对象。复制操作 结束后,两个变量实际上将引用同一个对象。因此改变其中一个变量,就会影响另一个变量。
那么问题来了,引用类型存在的意义是什么呢?
这是因为值类型在复制时存的是相应的值,值占用的内存不大,引用类型在复制时如果也存值,会占用很大的内存,通常都是好几块共用一块内存空间,所以引用类型是为了让内存共用。
回到我们最开始的问题,这里typeof只能区分值类型的详细类型,例如:

typeof  undefined     // undefined
typeof  123           // number
typeof  "abc"         // undefined
typeof  true          // boolean

可能你会疑惑null呢,我们继续看

typeof  null             // object
typeof  []               // object
typeof  {}               // object
typeof  console.log      // function

在引用类型中,typeof只能区分function,其他的得到的值都是object;其中null也是引用类型,仅仅是一个空指针。这两点比较特殊。

总结

① 值类型包括:undefined,number,string,boolean;
引用类型包括:null,array,object,function
② typeof 可以得到的类型有:undefined,number,string,boolean,object,function

相关文章

  • 变量那些事~

    大家都知道,在JS中将数据类型分类的话,会分为number,string,boolean,null,undefin...

  • 细说变量覆盖那些事

    前言 最近在挖洞和看一些ctf题目中可以看到一些变量覆盖的知识点,之前对这个方面学习的有点不全面,虽然网上有这方面...

  • 编程基础内容

    变量命名规则 常用变量(数字,char,string) 常量那些事(后缀,下划线,e) 声明、赋值简写 强制类型转...

  • MAC 环境变量那些事

    二次原创参考文章:mac下添加环境变量 之前一直做的是iOS开发, 一直都没有碰见过环境变量的事情, 最近又弄小程...

  • 说说变量和变量控制那些事2

    1、什么是控制变量? 在一个实验中,如果存在多个变化的因素,我们就很难说清楚实验结果到底是由什么因素导致的。为...

  • Bash 环境变量的那些事

    初学者可以在此教程中了解环境变量。 bash 变量,尤其是讨厌的环境变量,已经是一个老生常谈的话题了。我们也更应该...

  • iOS block变量截获的那些事

    1、前言 对于初中级iOS开发工程师来说,面试的时候手写block是比较常见的问题,那对于高级及以上在问到bloc...

  • JS函数声明与变量声明那些事

    今天看到了一个面试题,让身为前端的我很是惭愧,也做了一些项目了,但是好多原理上的东西还是模棱两可,趁现在没有那么忙...

  • 线性回归

    线性回归 回归 通常指那些用一个或多个预测变量,也称自变量或者解释变量,预测响应变量(因变量,效应变量或者结果变量...

  • 协方差分析

    影响因变量的定性变量或连续型变量称之为‘协变量’。 将那些难以控制的因素当做协变量,在排除协变量影响的条件下,分析...

网友评论

      本文标题:变量那些事~

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