美文网首页
JavaScript 数据类型与变量提升

JavaScript 数据类型与变量提升

作者: 仙姑本姑 | 来源:发表于2019-12-06 15:39 被阅读0次

1.JS 中有哪些数据类型?
JavaScript提供了一种判定给定变量数据类型的手段——typeof操作符,对值或变量使用可以返回它的数据类型。
最新的 ECMAScript 标准定义了 8 种数据类型:其中包括7种原始类型,原始类型的值本身无法改变。

  • Boolean类型
    Boolean对象有两个值:true和false.
    创建Boolean对象的语法:var boo=new Boolean
  • Null类型
    Null类型有一个值:null.
  • Undefined类型
    Undefined表明变量没有初始化
    Undefined有一个值:undefined
  • Number类型
    JavaScript 中只有一种数字类型:基于 IEEE 754 标准的双精度 64 位二进制格式的值(-(2^53 -1) 到 2^53 -1),当数值类型大于数值类型最大值,会出现Infinity(正无穷)-infinity(负无穷),当它们与其他数值进行算术运算,整个涮熟表达式会变为:NaN
    NaN不会与任何数值相等,可以用isNaN()判断变量是否为NaN.
  • BigInt类型
    BigInt类型是 JavaScript 中的一个基础的数值类型,可以用任意精度表示整数。使用 BigInt,可以安全地存储和操作大整数,甚至可以超过数字的安全整数限制。BigInt是通过在整数末尾附加 n 或调用构造函数来创建的。
    通过使用常量[Number.MAX_SAFE_INTEGER],可以获得可以用数字递增的最安全的值。
    BigInt不能与数字互换操作。否则,将抛出[TypeError] ;
    可以对BigInt使用运算符+、、-、*和%,就像对数字一样。
  • String类型
    JavaScript的字符串类型用于表示文本数据。它是一组16位的无符号整数值的“元素”。在字符串中的每个元素占据了字符串的位置。第一个元素的索引为0,下一个是索引1,依此类推。字符串的长度是它的元素的数量。
  • Symbol类型
    符号类型是唯一的并且是不可修改的。
    除了以上7种原始类型,还有一种:Object
  • Object对象类型
    对象其实时一组数据和功能的集合,可以使用new操作符+构造函数名来创建
    var obj = new Bojecr()
    访问一个对象的属性:
    objectName.propertyName

2.JS Object 数据类型和其它原始类型有什么区别?

类型 原始类型 对象类型
不可改变 可以改变
属性和方法 不能添加 能添加
存储值 地址(指针)
比较 值的比较 地址的比较

3.谈谈你对”变量提升“的理解
编程中,我们习惯将var a = 6;看成是同一个声明,但JavaScript把它看作是两个单独的声明,var=a是变量声明,a=6则是初始化,因此在运行中就产生了执行先后的顺序问题,这样的先后顺序就是所谓的变量提升,且只有声明的变量会被提升,初始化不会。
JavaScript中,函数及变量的声明都将被提升到函数最顶部

var x = 5; // 初始化 x
var y = 7; // 初始化 y

elem = document.getElementById("demo"); // 查找元素
elem.innerHTML = x + " " + y;           // 显示 x 和 y

上述实例实际运行顺序为:

var x ; 
var y ; 
x = 5 ;
y = 7 ;

elem = document.getElementById("demo"); // 查找元素
elem.innerHTML = x + " " + y;           // 显示 x 和 y

输出结果为5 7

var x = 5; // 初始化 x

elem = document.getElementById("demo"); // 查找元素
elem.innerHTML = x + " " + y;           // 显示 x 和 y

var y = 7; // 初始化 y

此例实际顺序为:

var x ; 
var y ;
x = 5;

elem = document.getElementById("demo"); 
elem.innerHTML = x + " " + y;          

y = 7; 

输出结果为5 undefined

相关文章

  • JavaScript 大纲

    js 语法基础 JavaScript 介绍 js 输出 注释 变量,变量声明提升,全局变量,常量 7 大数据类型 ...

  • JavaScript 数据类型与变量提升

    1.JS 中有哪些数据类型?JavaScript提供了一种判定给定变量数据类型的手段——typeof操作符,对值或...

  • javascript学习思维导图

    JavaScript 数据类型 JavaScript 变量 Javascript 运算符 JavaScript 流...

  • JavaScript基本数据类型

    JavaScript是弱类型脚本语言,声明变量时无需指定变量的数据类型。JavaScript变量的数据类型是解释时...

  • var 与 ES6中的 let、const

    首先你要清楚 JavaScript的作用域 变量的提升 常量与变量 一)变量提升 由上图中可知:let与const...

  • JavaScript 学习脑图

    javascript数据类型 javascript变量 javascript运算符 javascript数组 ja...

  • JavaScript学习笔记 - JavaScript数据类型

    2. JavaScript 数据类型 JavaScript是弱类型脚本语言,声明变量时无需指定变量的数据类型,即是...

  • JS基础

    JavaScript概述 、 JavaScript基础语法 、 变量和常量 、 数据类型 数据类型转换 、 运算符...

  • 作用域

    变量声明提升 在 JavaScript 中,函数声明(function aa(){})与变量声明(var)经常被 ...

  • javaScript变量

    1,JavaScript 变量 2,用法 3,JavaScript 数据类型 实例 4,声明变量声明(创建) Ja...

网友评论

      本文标题:JavaScript 数据类型与变量提升

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