JavaScript 数据类型与变量提升

2019-12-06  本文已影响0人  仙姑本姑

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

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

上一篇下一篇

猜你喜欢

热点阅读