目录
Object.create(prototype,[descriptors])
Object.defineProperties(object,descriptors)
Array.prototype.indexOf(value)
Array.prototype.LastIndexOf(value)
Array.prototype.forEach(function(item,index){})
Array.prototype.map(function(item,index){})
Array.prototype.filter(function(item,index){})
它是一种由ECMA组织(前身为欧洲计算机制造商协会)指定和发布的脚本语言规范。而JavaScript就是ECMA的实现,但术语ECMAScript和JavaScript平时表达同一个意思。
JS包含三个部分:
BOM(浏览器对象模型)
DOM(文档对象模型)
Node
除了正常运行模式(混杂模式),ES5添加了第二种运行模式:“严格模式”(strict mode)。顾名思义,这种模式使得JavaScript在更严格的语法条件下运行。
在全局或函数的第一条语句定义为:"use strict"
如果浏览器不支持,只解析为一条简单的语句,没有任何副作用
js对象(数组)转换为json对象(数组)
json对象(数组)转换为js对象(数组)
ES5给Object扩展了一些静态方法,常用的2个:
作用:以指定对象为原型创建新的对象
为新的对象指定新的属性,并对属性进行描述
value:指定值
writable:标识当前属性值是否可以修改,默认为false
configurable:标识当前属性是否可以被删除默认为false
enumerable:标识当前属性是否能用for in 枚举,默认为false
作用:为指定对象定义扩展多个属性
get:用来获取当前属性值的回调函数
set:修改当前属性值的触发回调函数(当扩展属性发生变化时自动回调),并且实参即为修改后的值
存取器属性:setter,getter一个用来存值,一个用来取值
得到value在数组中的第一个下标
得到value在数组中最后一个下标
遍历数组
遍历数组返回一个新的数组,返回调用函数之后的值
遍历过滤出一个新的子数组,返回条件为true的值
这两个都是用来指定函数中的this
参数的传入形式不同:
call()从第二个参数开始,以此传入
apply()第二个参数为数组,传入的参数放在数组里
bind()的特点:绑定完this不会立即调用当前的函数,而是将函数返回。传入参数的方式与call()相同