JavaScript ECMAScript5
2016-04-21 20:37
561 查看
ECMAScript是JavaScript的重要组成部分,为JavaScript提供了语法(类型、操作符等)支持,其本身可以看做一门“伪语言”,下面详细介绍一下:
ECMAScript借鉴了大量的C和类C语言(Java、perl)的语法,并且其实现更加宽松,从这些语言转过来用起来会比较轻松自在。
1. ECMAscript一切区分大小写,比如test和Test就是两个完全不同的变量
这里介绍一个概念---标识符,指变量、函数、属性的名字,或者函数的参数,他遵循如下规则
1.开头只能是_下划线、$美元符号或者是英文字母
2.其他字符只能是字母、下划线、美元符号或数字
同时标识符一般默认使用驼峰式命名法,不能与保留关键字和保留字相同
ES5中引入了一个严格模式,区别于普通的状态,在代码中插入'use strict'后,实际上是给予了编译器和引擎一条指令,让其用另一种解释和执行的模式(语法要求相对比较严格)进行处理,对ES3中的一些不确定的行为将得到处理,对于某些不安全的行为也会抛出错误。
方法:Boolean()转型函数任何类型转化为布尔值 Nubmer()任何类型转化为number parseFloat()字符串转化为number多适用于float
parseInt()字符串转化为number 多用于取整或字符串转化 规则:第一个非空格字符不是数字或负号结果为NaN 解析到所有字符结束或遇到第一个非数字字符 参数为进制标准
toString() 适用于数值 字符串 对象 布尔值 参数为进制标准
typeof 鉴定变量是何种类型,特殊的有 typeof null为object
数据类型:undefined null boolean number string object
number:小数点区分浮点和整形
特殊值,NaN(not a number),即非数值,表示本来要返回一个数值但未返回数值的情况,是一个防止抛出错误的机制,两个特点:1.和任何数运算都是NaN,2.和任何数都不相等。
判断 NaN typeof number+ isNaN()
parseInt 从第一个非空格开始解析,如果第一个解析到的不是数字或者是负号,那么直接返回NaN,否则慢慢解析到第一个不是数字或者是负号停止。 第二个参数指定转换进制。
string:转义序列 字符串创建后值不能改变
object:new操作符+对象类型名创建新对象 ex:new Object()
undefined:未定义,第三版引入,区分空指针和声明初始化了但未赋值的情况,但是还有一种比较令人费解的情况,对声明初始化了但未赋值的变量和对未声明的变量都是会undefined,这个从意义上是没问题的,但技术上还是区别比较大的。
自带属性和方法
constructor:保存创建对象的函数 hasOwnProperty(properName)检查属性是否存在 isPrototypeOf(object) propertyIsEnumerable(propertyName) toLocaleString() toString() valueOf()
位操作符:按位非~取反减一 按位与& 按位或| 按位异或^ 左移 有符号右移(符号位不动) 无符号右移
函数返回值:任何函数都可以在任何时候返回任何值 未指定函数返回值实际返回undefined
函数参数:可以传递任意数量参数 其整体以数组形式向函数传递 arguments对象访问这些参数
函数不能重载
其余语法与c相似度甚高,不再赘述
ECMAScript借鉴了大量的C和类C语言(Java、perl)的语法,并且其实现更加宽松,从这些语言转过来用起来会比较轻松自在。
1. ECMAscript一切区分大小写,比如test和Test就是两个完全不同的变量
这里介绍一个概念---标识符,指变量、函数、属性的名字,或者函数的参数,他遵循如下规则
1.开头只能是_下划线、$美元符号或者是英文字母
2.其他字符只能是字母、下划线、美元符号或数字
同时标识符一般默认使用驼峰式命名法,不能与保留关键字和保留字相同
ES5中引入了一个严格模式,区别于普通的状态,在代码中插入'use strict'后,实际上是给予了编译器和引擎一条指令,让其用另一种解释和执行的模式(语法要求相对比较严格)进行处理,对ES3中的一些不确定的行为将得到处理,对于某些不安全的行为也会抛出错误。
方法:Boolean()转型函数任何类型转化为布尔值 Nubmer()任何类型转化为number parseFloat()字符串转化为number多适用于float
parseInt()字符串转化为number 多用于取整或字符串转化 规则:第一个非空格字符不是数字或负号结果为NaN 解析到所有字符结束或遇到第一个非数字字符 参数为进制标准
toString() 适用于数值 字符串 对象 布尔值 参数为进制标准
typeof 鉴定变量是何种类型,特殊的有 typeof null为object
数据类型:undefined null boolean number string object
number:小数点区分浮点和整形
特殊值,NaN(not a number),即非数值,表示本来要返回一个数值但未返回数值的情况,是一个防止抛出错误的机制,两个特点:1.和任何数运算都是NaN,2.和任何数都不相等。
判断 NaN typeof number+ isNaN()
parseInt 从第一个非空格开始解析,如果第一个解析到的不是数字或者是负号,那么直接返回NaN,否则慢慢解析到第一个不是数字或者是负号停止。 第二个参数指定转换进制。
string:转义序列 字符串创建后值不能改变
object:new操作符+对象类型名创建新对象 ex:new Object()
undefined:未定义,第三版引入,区分空指针和声明初始化了但未赋值的情况,但是还有一种比较令人费解的情况,对声明初始化了但未赋值的变量和对未声明的变量都是会undefined,这个从意义上是没问题的,但技术上还是区别比较大的。
自带属性和方法
constructor:保存创建对象的函数 hasOwnProperty(properName)检查属性是否存在 isPrototypeOf(object) propertyIsEnumerable(propertyName) toLocaleString() toString() valueOf()
位操作符:按位非~取反减一 按位与& 按位或| 按位异或^ 左移 有符号右移(符号位不动) 无符号右移
函数返回值:任何函数都可以在任何时候返回任何值 未指定函数返回值实际返回undefined
函数参数:可以传递任意数量参数 其整体以数组形式向函数传递 arguments对象访问这些参数
函数不能重载
其余语法与c相似度甚高,不再赘述
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享