1.语法
1 .区分大小写
变量名test和Test是两个不同的变量
2.注释
1.单行注释 //
2.多行注释
/*
* 多行
* 注释
*/
3.严格模式
在脚本最开始位置写入"use strict" ;
4.语句
1.尽量结尾写入分号
2.if后尽量使用大括号
2.关键字和保留字 (变量命名不能使用)
1 .关键字(不能用作标识符)
break case catch continue default
delete do else finally for
function if in instanceof new
return switch this throw try
typeof var void while with
2 .保留字(将来可能作为关键字)
abstract boolean byte char class
const debugger double enum export
extends final float goto implements
import int interface long native
package private protected public short
static super synchronized throws transient
volatile let yield
3.变量
1.命名规范
1.不能使用关键字和保留字
2.可以包含字母、数字、下划线、美元符号
3.不能以数字开头
4.常用于表示函数、变量等名称
5.名称最好有明确的含义
6.可以采用 小驼峰命名法,大驼峰命名法
2.定义变量
var message = "hello world" ; ( 推荐 )
3.作用域
1.全局环境下都可以访问
2.在函数中定义,在函数为外无法访问
4.数据类型
检测数据类型方法之一 typeof( )
1. Undefined(基本数据类型)
1.声明变量并未赋值
2.赋值undefined
3.对于未声明的变量使用时会报错
4.使用typeof未声明的变量会是undefined
2.Null(基本数据类型)
1.表示未来指向某个
2.typeof为object
3.null == undefined是true
3.Boolean(基本数据类型)
1.两个值,true(在计算中为1)和false(在计算中为0).
2.ECMAScript中所有类型的值都可以转成与Boolean值等价的值
1.任意非0数字转成布尔值都是 true
2.任意非空字符串转成布尔值都是true
3.undefined 转成布尔值为 false
4.null 转成布尔值是false
5.NaN转成布尔值是 false
6.任意对象转成布尔值都是true
4.Number(基本数据类型)
1.浮点数值
1.小数点前可以没有整数,但是不推荐
2.如果小数点后面是整数或者没有数字,会被转化成整数
3.e表示e前面的数的10的e后面的数字的次幂
var num = 3.14e10 // 等于3.14*10^10
4.0.1+0.2不等于0.3,因为浮点小数计算时会有一点误差
2.取值范围
1.最小值 : 5e-324
2.最大值 : 1.7976931348623157e+308
3.超过这两个值会是Infinity(正无穷)和 -Infinity(负无穷),并且无法计算
4.isFinite()可以判断是否在两个值之间,如果在,返回true
3.NaN
1.任何涉及NaN的操作都会返回NaN
2.NaN不等于NaN
3.isNaN()用来判断是不是一个数字,如果是数字返回false,否则返回true。(存在隐式转换)
4.isNaN()也适用于对象,会先调用对象的valueof()方法,判断返回值是否可以转化成数字,如果不能,调用toString()方法,再测试返回值
4.数值转换
1.true转成1,false转成0
2.null返回0
3.undefined返回NaN
4.字符串的转换
1.没有数字的非空字符串转换为NaN
2.空字符串转换成0
3.只包含数字会被转成去掉引号的数字(最前面忽略0)
5.parseInt()转化成整数,从第一个字符开始,一直到小数点前一位,中间遇到非数字停止,如果第一
个字符不是数字,返回NaN.如果第二个参数是数字,则将第一个参数按照第二个参数进制转换
6.parseFloat()和parseInt()类似,可解析小数
String(基本数据类型)
1.字符字面量(转义序列)
1. \n 换行
2. \t 制表
3. \b 退格
4. \r 回车
5. \\ 斜杠
2.转化成字符串
1.几乎所有值都有toString()方法
2.toString()里面可以传参数
var num = 10 ;
console.log( num.toString() ) ; // "10"
console.log( num.toString( 2 ) ) ; // "1010"
console.log( num.toString( 8 ) ) ; // "12"
console.log( num.toString( 10 ) ) ; // "10"
console.log( num.toString( 16 ) ) ; // "a"