基本概念
语法
区分大小写
变量test和变量Test分别表示两个不同的变量
标识符
所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。
标识符的的格式
- 第一个字符必须是一个字母、下划线(_)或一个美元符号($);
- 其他字符可以是字母、下划线、美元符号或数字。
驼峰命名 : 第一个字母小写,剩下的每个单词的字母大写。
严格模式
在整个脚本中启动严格模式,可以在顶部添加一下代码:
"use strict";
严格模式是为JavaScript定义了一种不同的解析与执行模型。
关键字和保留字
关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。关键字是语言保留的,不能用作标识符。尽管保留字还没有任何特定的用途,但它们有可能在将来被用作关键字。
变量
ECMAScript的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据。(每个变量仅仅是一个用于保存值的占位符而已)
用var操作费定义的变量将成为定义该变量的作用域中的局部变量。
function test(){
var message = 'hi'; //局部变量
}
test()
console.log(messate); //错误
可以用一条语句定义多个变量
var message = 'hi',
found = false,
age = 29;
在严格模式下,不能定义名为eval或arguments的变量,否则会导致语法错误。
数据类型
ECMAScript有六种简单数据类型(基本数据类型):undefined Null Boolean Number String Symbol 一种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。ECMAScript不支持任何创建自定义类型的机制。
typeof操作符
由于ECMAScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型 ——typeof 就是负责提供这方面新的的操作符。
//对一个值使用typeof操作符可能返回下列某个字符串
“undefinen” ——如果这个值未定义
"boolean" ——如果这个值是布尔值
"string" ——如果这个值是字符串
"number" ——如果这个值是数字
"object" ——如果这个值是对象或null
"function" ——如果这个值是函数
有些时候,typeof 操作符会返回一些令人迷惑但技术上却正确的值。比如
typeof null => "object" //特殊值null被认为是一个空的对象引用
Undefined 类型
Undefined类型只有一个值,既特殊的undefined。使用var声明变量单位对其加以初始化时,这个值就是undefined
var message;
console.log(message == undefined) //true
等价于
var message = undefined;
console.log(message == undefined) //true
一般不存在显式地把一个变量设置为undefined值的情况。
Null
Null类型也是只有一个值的数据类型,这个特殊的值是null。从逻辑角度来看,null值表示一个空对象指针。(typeof null // object)
只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存null值。这样不仅可以体现null作为空对象指针的惯例,也有助于进一步区分null 和 undefined。
Boolean
Boolean类型只有两个字面值 true 和false 。这两个值与数字值不是一回事,true不一定等于1,false也不一定等于0.
Number
NaN
- 任何涉及NaN的操作都会返回NaN
- NaN与任何值都不想等,包括NaN本身
数值转换
Number()
parseInt()
parseFloat()
String
String类型用于表示由零或多个16位Unicode字符序列,既字符串。
object类型
ECMAScript中的对象其实就是一组数据和功能的集合。
操作符
一元操作符
递增和递减操作符
一元加和减操作符
位操作符
布尔操作符
与或非
乘性操作符
乘法
除法
加性操作符
加法
减法
关系操作符
相等操作符
相等和不相等
全等和不全等
条件操作符
赋值操作符
逗号操作符
语句
54页
网友评论