JS数据类型&变量提升

JS 有哪些数据类型?

  • JavaScript定义了7种数据类型,分别是数值、字符串、布尔值、对象、ES6新增的Symbol、undefined、null。
  • 数值、字符串、布尔值、Symbol称为原始类型的值,即他们是最基本的数据类型,不再细分。
  • 对象称为合成类型(又称复杂类型)的值,因为一个对象往往是多个原始类型值的合成,可以看作是一个存放各种值的容器。
  • 对象又细分为狭义的对象(object)、数组(array)、函数(function)、正则表达式(regexp)。
  • undefined、null,一般将他们看成两个特殊值。

JS 变量声明提升是什么意思?

  • JavaScript引擎的工作方式是:先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果就是所有的变量声明语句,都会被提升到代码的头部,然后给它初始值undefined,然后才逐句执行代码,这就称为‘变量提升’,也叫做‘变量的声明前置’。
console.log(a); // undefined  变量提升 var a = undefined
var a = 1;
console.log(b); //报错    b没声明/定义
sayName('world');// hello world   函数声明的函数吊用可以放在函数前
sayAge(10); //报错   函数表达式声明的函数 必须是声明在前,调用在后
function sayName(name){
    console.log('hello ', name);
}
var sayAge = function(age){
    console.log(age);
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 917评论 0 4
  • 语句 JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。 ...
    米塔塔阅读 469评论 1 10
  • ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,前...
    语目阅读 3,946评论 0 3
  • 基本介绍 ECMAScirpt 5.1 中定义了6种数据类型,其中有5中简单数据类型(基本数据类型): Undef...
    Wonder233阅读 623评论 0 0
  • 昨日的水流已远去 明日的清风又隔几重 这岁月的无尽长河 只有你 与我同梦 只有你 能看见我的挣扎 听见我的期许 ...
    烟雨心清阅读 183评论 2 2