es6基础学习
一、语法
1、区分大小写
2、变量是弱类型的
3、每行结尾的分号可有可无
4、单行注释为//,多行注释/* */
5、括号代表代码块
二、变量
1、使用var声明变量,变量是弱类型的
2、变量的命名规则:第一个必须是字母,下划线或$,余下的可以是下划线,$或字母或数字
建议使用Camel标记法、Pascal标记法,匈牙利类型标记法
3、变量声明不是必须的
但建议使用前声明。
三、关键字
关键字是保留的,不能用作变量名或函数名
四、保留字
保留字在某种意思上是为将来的关键字而保留的单词。因此保留字不能被用作变量名或函数名
五、原始值和引用值
原始值存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。
引用值存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。
存在stack中的类型:Undefined、Null、Boolean、Number和String型,对象的地址,可以使用typeof 来判断对象的类型
六、原始类型
Undefined类型
唯一值:undefinded
当声明的变量未初始化时,该变量的默认值是undefined。
Null类型
唯一值:null
值undefined实际上是从值null派生来的,因此ECMAScript把它们定义为相等的
undefined是声明了变量但未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象,如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是null
Boolean类型
它有两个值true和false
Number类型
这种类型既可以表示32位的整数,还可以表示64位的浮点数
整数:
整数也可以被表示为八进制(以8为底)或十六进制(以16为底)的字面量。
八进制以0开头,十六进制以0x开头
浮点数:
用它进行计算前,真正存储的是字符串
科学计数法
特殊的Number值
临界值:Number.MAX_VALUE,Number.MIN_VALUE
正负无穷大:Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY
判断是否无穷大的函数:isFinite()
非数字:NaN:NaN的另一个奇特之处在于,它与自身不相等,因此判断是否为NaN时使用isNaN()函数
String类型
String类型的独特之处在于,它是唯一没有固定大小的原始类型。可以用字符串存储0或更多的Unicode字符,有16位整数表示
字符串字面量是由双引号(")或单引号(')声明的
七、引用类型
引用类型通常叫做类(class),也就是说,遇到引用值,所处理的就是对象
对象是由 new 运算符加上要实例化的对象的名字创建的:
var o = new Object();
Object 对象
具有下列属性:
constructor:对创建对象的函数的引用(指针)
Prototype:对该对象的对象原型的引用
具有的方法:
hasOwnProperty(property):判断对象是否有某个特定的属性。必须用字符串指定该属性。
IsPrototypeOf(object)判断该对象是否为另一个对象的原型。
PropertyIsEnumerable判断给定的属性是否可以用for...in语句进行枚举。
ToString()返回对象的原始字符串表示。对于Object对象,ECMA-262没有定义这个值,所以不同的ECMAScript实现具有不同的值。
ValueOf 返回最适合该对象的原始值,对于许多对象,该方法返回的值都与ToString()的返回值相同
Boolean对象
所有对象都会被自动转换为true
最好还是使用Boolean原始值true/false进行操作
Number对象
具有的方法:
toFixed():返回的是具有指定位数小数的数字的字符串表示
toExponential():与格式化数字相关的另一个方法是toExponential(),它返回的是用科学计数法表示的数字的字符串形式
toPrecision():据最有意义的形式来返回数字的预定形式或指数形式
String对象
String对象的valueOf()方法和toString()方法都会返回String类型的原始值
具有的属性:
length:字符串的字符个数
charAt()和charCodeAt()
字符串中的单个字符。这两个方法都有一个参数,即要操作的字符的位置,如果想得到的不是字符,而是字符代码,那么可以调用charCodeAt()方法
concat():用于连接字符串,通‘+‘’
indexOf()和lastIndexOf():返回的都是指定的子串在另一个字符串中的位置,如果没有找不到子串,则返回-1
localeCompare()方法:对字符串进行排序
slice()和substring():slice()和substring()方法都不改变String对象自身的值。它们只返回原始的String值,保持String对象不变。
silce和substring在参数为负时才存在差异,substring自动将负数作为0处理。
toLowerCase(),toLocaleLowerCase()/toUpperCase,toLocaleUpperCase():大小写转换
instanceof:typeof运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回"object"。因此引入instanceof来解决这个问题
浙公网安备 33010602011771号