目前浏览器支持的javascript版本为EAMCscript5
ECMA是欧洲计算机制造商协会
ECMAscript是ECMA制定的标准化脚本语言
ECMAscript基础组成部分
-
语法:
- 分号代表一个语句的结束。分号在代码没有压缩的时候是可以省略的,当代码压缩的时候,如果一个语句结束了,但没有分号会报错
- 严格区分大小写,(js代码必须小写,有一个大写都不行)
- 变量弱类型:虽然我们l可以改变变量的类型,但建议变量的类型从声明之后就不要改变。
- 注释:单行注释//(把//放在script语句前面)
多行注释/*注释的内容 */ - 代码块,代码块用{}表示
-
变量:
- 声明变量:例如:Var 变量的名字
- 变量的赋值:例如:变量名字=变量的值
- 变量的声明赋值:例如:Var 变量的名字=变量的值
- 变量是可以重复赋值的
- 一条语句可以有多个变量。(变量之间要用逗号分隔开)
注意:js中区分大小写,变量的名字也区分大小写。变量可以不声明直接使用,但不规范,建议先声明后使用,如果不声明直接赋值会产生一些问题
-
变量命名的规则:
- 只能由数字,字母和下划线以及美元符号组成,并且不能以数字开头。
- 变量名区分大小写
- 变量名尽可能的短
- 变量名要有意义
- 变量名不能是关键字或保留字
-
变量命名的方法
- 驼峰命名法:第一个单词的首字母小写之后单词的首字母大写
- 匈牙利命名法:所有单词的首字母全部大写
- 帕斯卡命名法:用变量类型的首字母+变量名字
-
类型:
五种原始类型: undeFined (未定义) Null(为空的对象) Number(数字型) String(字符串) Boolean(布尔)
-
什么时候会出现undeFined:
- 变量声明未赋值的时候是undeFined
- 使用tepeof去判断没变量声明的时候
- 当函数没有明确返回值s的时候
-
Null:
undeFined是Null的派生
Null是不存在的对象
函数或方法返回的是对象,那么找不到该对象时返回的是Null,变量声明未赋值的时候是undeFined,变量没有声明会报错.
-
Number:
当值是数字的时候typeof会返回Number
两个特殊的Number:- Infinty:无穷。判断一个数不是无穷的:isfinty(变量的名字)
- NaN: 一般出现在类型转换出错的时候。判断不是一个数:isNaN (变量的名字),如果是一个数返回ture,不是一个数返回flase。
-
String: 字符串
怎么表示一个字符串,用英文的双引号或者单引号包裹的就是字符串
转译符:\反斜杠,只在字符串内部去转译
-
Boolean:
有两个值,真值和假值。真值用返回的是ture,假值返回的是flase。ture和flace要严格区分大小写。
六个假值:0 、"" 、''、flase 、null 、undeFined、NaN。只要值不是六个假值其余的全为真
-
什么时候会出现undeFined:
-
类型转换:
-
转换成字符串的方法: to string()
使用方法:变量的名字.to string()
undeFined在使用to string()的时候会转换不成功
-
转换成布尔模型:
强制转换:Boolean ()
当值为六个假值时能转换为flace,其余的全为真
-
String转换:
String转换需要使用强制转换,to String()
to String不能在Null和unedFined上去使用
特殊的地方:可以将Null和UndeFined转换成字符串
-
转换成Number类型:
整数型:parseInt() 例如:persrInt (变量的名字)
怎么转化的?顺序从左向右首先看第一个字符是不是一个数字,如果是那么继续向后面验证第二个字符,如果是一个数字那么继续向后面验证,如果不是一个数字那么会返回第一个数字......如果第一个字符就不是数字那么会返回NaN
浮点数型:parseFloat 例如:parsenFloat (变量的名字)怎么转化的?
会将第一个小数点看成合法字符,再出现的小数点会看成非法字符。
-
转换成字符串的方法: to string()