语句
JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。
语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。
var a = 1 + 3;
这条语句先用var
命令,声明了变量a
,然后将1 + 3
的运算结果赋值给变量a
。
1 + 3
叫做表达式(expression),指一个为了得到返回值的计算式。语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。凡是 JavaScript 语言中预期为值的地方,都可以使用表达式。比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。
变量
变量是对“值”的具名引用。变量就是为“值”起名,然后引用这个名字,就等同于引用这个值。变量的名字就是变量名。
简单说变量就是存储数据的容器
在JS中变量通过关键字"var"来创建,创建变量的过程称为"声明"
var b = 3;
上面这段代码就是先声明了变量b,再将数值3赋值给变量b,以后引用变量b就会得到数值3。
变量提升
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。
例如这段代码:
var a = 4;
我们可以这么理解为:
var a; a = 4;
标识符
在JS中所有的可以由我们自主命名的都可以称为是标识符(identifier),最常见的标识符就是变量名和函数名。
标识符有自己的命名规则,在起名字时要符合如下规则命名,不符合规则的标识符就是非法标识符
1)第一个字符,可以是任意 Unicode 字母(包括英文字母和其他语言的字母),以及美元符号($
)和下划线(_
)。
2)第二个字符及后面的字符,除了 Unicode 字母、美元符号和下划线,还可以用数字0-9
。
3)标识符不能是ES中的关键字或保留字
1a //不能以数字作为第一个字符 @qbb //不能除了美元符号$和下划线_以外的符号作为第一个字符 ab^c //中间不能包含除了美元符号$和下划线_以外的符号
以上都是非法标识符
!中文是可以作为标识符的,因为符合Unicode编码方式
var 我是变量 = 1
注释
在JS中注释是不会被执行的,注释的作用就是对代码进行解释。JS有两种注释的方法:
//单行注释 /* 这是 多行 注释 */
数据类型
JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值)
- 数值(number):整数和小数(比如
1
和3.14
) - 字符串(string):文本(比如
Hello World
)。 - 布尔值(boolean):表示真伪的两个特殊值,即
true
(真)和false
(假) undefined
:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值null
:表示空值,即此处的值为空。- 对象(object):各种值组成的集合。
通常,数值、字符串、布尔值这三种类型,合称为原始类型(primitive type)的值,即它们是最基本的数据类型,不能再细分了。对象则称为合成类型(complex type)的值(或叫作引用类型),因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。至于undefined
和null
,一般将它们看成两个特殊值。
对象是最复杂的数据类型,又可以分成三个子类型。
- 狭义的对象(object) (键值对类型的)
- 数组(array)
- 函数(function)
typeof 运算符
我们可以用typeof 运算符来判断一个值返回哪种数据类型
数值、字符串、布尔值分别返回number
、string
、boolean
。
typeof 123 //"number" typeof ‘hello‘ //"string" typeof true //"boolean"
undefined返回undefined
typeof undefined //"undefined"
null返回object
typeof null //"object"
对象和数组返回object
typeof [] //"object" typeof {} //"object"
函数返回function
function f(){} typeof f(){} //"function"
原文地址:https://www.cnblogs.com/ianyanyzx/p/9470197.html