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阅读 685评论 0 4
  • 语句 JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。 ...
    米塔塔阅读 305评论 1 10
  • ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,前...
    语目阅读 3,522评论 0 2
  • 基本介绍 ECMAScirpt 5.1 中定义了6种数据类型,其中有5中简单数据类型(基本数据类型): Undef...
    Wonder233阅读 214评论 0 0
  • 昨日的水流已远去 明日的清风又隔几重 这岁月的无尽长河 只有你 与我同梦 只有你 能看见我的挣扎 听见我的期许 ...
    烟雨心清阅读 119评论 2 2
  • 文/赤孔 纷纷烟雨隐江南 片片飞花陨落处 谁解凄寥 花容难描 冷月难圆 挂柳梢 只知夜露难消 纵芭蕉在手 难散烟雾...
    赤孔阅读 103评论 0 4
  • 采桑子- 晚春夜雨 文/燕赵北羽 晚春夜雨袭蜀城烟幕重重危楼霓虹离别泪浸胜相逢南湖鼓敲闻青铜玄鸟哑哑白豚跃跃芭蕉濯...
    燕赵北羽阅读 310评论 18 7
  • 我知道 你不敢看我的眼睛 你怕 怕在一场浓雾里 迷失了自己 你不敢吻我 你怕那种疯狂的吮吸 直达心底 我就站在这里...
    岛上君阅读 44评论 0 1