js基本概念:
1 标识符(取名字):用 _/字母/$符号 开头,之后可以使用字母,数字,下划线,美元符号,注意不能使用保留字,也要注意大小写。
2 注释方法:单行注释 // 多行注释 /* */
3 语句使用末尾使用 ; , 把多条语句放到代码块当中,以{开头,}结尾
4 变量: 使用 var操作符 + 变量名(标识符)来定义一个变量,变量可以直接被初始化,但初始化仅仅只是给变量赋值,因ECMAscript变量是松散类型,变量不会被标记相应类型。
5 数据类型
- Undefined类型:变量被声明但没有被初始化,会被隐式的添加undefined值,在使用typeof操作符时,未声明的变量也会显示undefine
- Null类型: 作为空对象指针,需要保存对象的变量需要显式的设置null值
- Boolean类型: 字面值为true和false,ECMAscript中所有类型的值都可以被转化成boolean值,可以使用转型函数Boolean(),流控制语句会自动隐式使用该函数,如if语句
- Number类型:
- 整数: 可以用数字的八进制/十进制/十六进制的字面值来表示变量,八进制要用0开头,数字序列式0~7,十六进制要用0x开头,数字序列式0~9,A~ F,在进行算术计算时,八进制喝十六进制的值会被转化为十进制数值
- 浮点数: 浮点数值需要的内存空间时整数的两倍,ECMAscript会隐式的把浮点数值转化为整数值,可以用e表示法表示浮点数值,但不要去测试某个特定的浮点数值,因为它的精确度远远没有整数值高
- NaN(非数值):
- 任何涉及NaN的操作都会返回NaN
- NaN与任何值都不想等,包括它自己
- 针对上述两个特点,有了isNaN()函数,该函数接受一个参数,该参数可以式任何类型,函数会帮我们确定这个参数是不是数值。该函数接收到一个值后,会尝试将这个值转化为数值。基于对象调用该函数时,会首先调用对象的valueOf() 方法,然后确定返回值是否可以转化为数值。如果不能,再基于返回值使用toString()方法,再测试返回值。这个过程也是 ECMAscript中内置函数和操作符的一般执行流程。
- 数值转换 :有三个函数可以把非数值转换为数值:Number()、ParseInt()、ParseFloat()
- Number()可用于任何数据类型,ParseInt()、ParseFloat()用于把字符串转换为数值,三个函数同样的输入会有不一样的输出
- ParseInt()转换空字符串会返回NaN,Number()则会返回0,建议在使用ParseInt()是,指定基数
- ParseFloat()值只解析十进制值,不能指定基数,在字符串没有小数点或小数点之后都是0时,转换为整数
String类型:
- 必须以双引号或单引号表示,前后必须一致
- 特点:字符串不可变,要想改变必须,必须先销毁该值,然后用包含新值的字符串填充该变量
- 转换为字符串的方法为toString()和String();除了null和undefined值没有这个方法,string类型和number类型、boolean类型、object类型的值都有该方法,该方法可以使用参数,来传递基数。string()对null和undefined类型的值也可以用,会转化为这两种值的字面量
Object类型
- 对象是一组数据与功能的组合,使用new操作符后跟响应对象类型的名称来创建。
- Object类型是它的实例的基础。Object类型具有的任何属性和方法,也存在于更具体的对象中。
- constructor(构造函数):保存着用于创建当前对象的函数
- hasOwnProperty(propertyName): 用于检查当前对象实例中到底存不存在给定的属性,参数必须以字符串形式指定
- isPrototyOf(object): 用于检查传入的对象是不是当前对象原型
- propertyIsEnumerable(propertyName): 用于检查给定的属性是否能用for-in来枚举,参数必须以字符串指定
- toLocaleString():返回对象的字符串表示,与执行环境地区对应,就是在哪个国家显示哪个国家的字
- toString():返回对象的字符串表示
- valueOf(): 返回对象的字符串、数值、布尔值表示,通常与toString()方法的返回值相同
- 宿主对象可能会也可能不会继承object
- 对象是一组数据与功能的组合,使用new操作符后跟响应对象类型的名称来创建。
操作符
一元操作符:
- 前置递增和前置递减符号:++a 、- -b ,包含它们的语句在求值以前已经被赋值。递增、递减符号:a++、 b - -,包含它们的语句在被求值以后才被赋值。这四个操作符适用于任何值,整数值、布尔值、字符串浮点数值和对象,在应用于不同的值时,会遵循一系列规则把值转换为数值变量
- 一元加和减:基本算术运算,转换数据类型,类似Number()函数
- 位操作符