Javascript主要分为ECMAScript + DOM + BOD
前言
输出语句
- console.log() 实际上是window.console.log() window对象下面的方法
- alert() 实际上是window.alert() window对象下面的方法
REPL环境
- Read 读取
- Eval 执行
- Print 打印
- Loop 循环
前端三层
- 结构层
- 样式层
- 行为层
*变量
定义变量
var 关键字定义一个变量或者同时定义多个变量,以 ‘ ,’ 分隔
var a
定义的变量未赋初始值时,默认值为undefined
var b = 13
关键字 变量 赋值运算符 值
var c = 13, d = 15
同时定义多个变量
变量的提升
- 只提升变量名称,不提升值
- 在执行所有代码前,JS有预解析阶段,会预读所有变量的定义,这是变量能够提升的原因
变量的使用
console.log(a)
变量使用时不能加引号
改变变量的值
改变变量的值时不需要再写关键字var,赋值运算符赋值即可
变量的命名规则
- 只能以
字母
,下划线
,数字
,$
符号组成,不能以数字开头 - 不能用关键字或者保留字
- 大小写敏感,a和A不同
变量命名规则同样适用于标识符命名规则
标识符: 函数,类名,对象的属性等
优秀的变量命名法
1、驼峰命名法
mathTestScore
2、c风格
math_test_score
变量常见错误
- 不用var定义,虽然不会报错,但是该变量会成为全局变量,会产生作用域问题
- 使用一个既没有定义,也没有赋值的变量,会报错(引用错误)
*数据类型
数据类型简介和检测
JS中两大数据类型: 基本类型 和 引用类型
typeof
运算符检测值或变量的类型typeof 5 //number typeof null //object type of NaN //number typeof undefined //undefined
null数据类型和undefined数据类型的值,只有各自的null和undefined
基本数据类型
-
字符串类型
字符串用 + 号拼接
字符串的length属性可以表示字符串的长度
var a='123' console.log(a.length) //输出4
字符串常用方法
-
数字类型
小数中0可以省略
科学计数法: 3e8 同 3乘以10的8次方
较大数或者较小数可以写成科学计数法 ,如3e8,或3e-8
NaN
特殊的数字类型值,not a number -
布尔类型
-
null类型
-
undefined类型
复杂数据类型简介(引用数据类型)
- 数组(Array)
- 对象(Object)
*表达式和运算符
JS基本表达式
算术表达式
算术表达式