第三章 基本概念

时间:2021-07-11 19:40:27

1、任何语言都包括语法、操作符、数据类型、流程控制语句、函数

2、语法:

  ①JS里的所有标识符都区分大小写,标识符包括变量名、函数名等,标识符只能以字母下划线_美元$开头,切记不能以数字开头以及用关键字和保留字作为标识符;

  ②注释有单行注释//,也有块级注释/**/;

  ③在脚本顶部或者函数内部的顶部使用”use strict”即可启动严格模式;

3、变量:ES的变量为松散类型可以var可以定义任何数据类型的变量,使用var操作符可以在该域下定义一个变量,如果没有初始化该变量则默认值为undefined,若没有使用var操作符则会直接创建一个全局变量

4、数据类型:五种基本数据类型:Undefined、Null、Boolean、Number、String,一种复杂数据类型:Object(实质由一对无序键值对组成,空对象/null);

  ①操作符typeof,用于检测数据类型,返回undefined/null/布尔值/string/number,注意:对未声明的变量使用会返回undefined,null被认为是空对象的引用;

  ②Undefined只有一个值undefined,注意:undefined的值派生于null的值,因此在值上它们是相等的;

  ③Null的值只有null,一个变量在将来用于保存对象时应当初始化成null;

  ④Boolean有ture/false两个值,但它们字面值和数值是不同的,任何数据类型的变量都可以调用Boolean()函数转为布尔值,以下值会被转为false:空字符串、0/NaN、null、undefined;

  ⑤Number:数值字面量格式有十进制、以0开头的八进制、以0x开头的十六进制;浮点数值会存在舍入误差的问题并且如果浮点数实际为整数将会被自动转为整数;Number.MAX_VALUE和Number.MIN_VALUE保存着最大和最小数值;NaN即非数值,用于表述一个将要返回数值而未返回数值的情况,任何涉及NaN的操作都会返回NaN,NaN不与任何数值相等,包括其本身,可以通过isNaN()函数来判断一个数值是否不是数值;数值转换:Number()、用于字符串转换成数值的parseInt(字符串,可选参数:数值的进制)和parseFloat(),Number()函数遵循以下规则:布尔值转换成1/0,null转为0,undefined转为NaN,字符串为空转为0,非数值型字符串转为NaN,对象先调用valueof()再调用toString()转为数值;parseInt()遵循以下规则:空字符将会转换成NaN,忽略空格后的一个字符为非数值将会转换成NaN,遇上数值型字符的部分将会转换成数值,小数点以及之后的字符将会被忽略,parseFloat()只会转换第一个小数点,第二个小数点将会被忽略;

  ⑥String:包含转义序列\n,\’,\”,\t,\r,\f,\b,字符串被创建后不能修改,只有销毁再重建,除了undefined和null之外,其它数据类型都有toString()方法,当调用String()方法进行类型转换时,如果该数据toString()方法就会调用,否则即为null或者undefined;

  ⑦Object:所有对象都通过new操作符进行实例化,所有实例化的对象都有Object的以下方法:constructor用于保存创建当前对象的函数,hasOwnproperty(字符串形式的属性)用于检测该属性是否在该实例化对象中,isPrototypeof(object)用于检查传入的对象是否是传入对象的原型,propertyIsEnumerable(字符串形式的属性)用于检测给定的属性能否使用for-in语句进行枚举,toLocaleString()返回对象的字符串形式;