ES5数组新增了filter、map、some、every这几个方法
字符串新增了trim()去除空白的方法,返回一个新的字符串
filter()方法创建一个新的数组,新数组中的元素时通过检查数组中符合条件的元素,主要用于筛选数组
some方法用于检测数组中的元素是否满足指定条件(查找数组中是否有满足条件的元素)
返回值是boolean值,如果找到满足条件的元素返回true,找不到返回false
如果查询数组中唯一的元素,用some()方法更合适,因为它找到和这个元素,就不在进行循环,效率更高
Document
按照价格查询: - 按照商品名称查询:
id 产品名称 价格
Object.defineProperty:往对象中添加或者属性或修改原有属性
如果属性没有则新加,如果有则修改
获取对象的属性名,返回值为对象属性名的数组
改变函数内this指向, js提供了三种方法 call() apply() bind()
bind()方法不会调用函数,但是能改变函数内部this指向,返回由指定的this值和初始化参数改造的原函数的拷贝
如果有的函数我们不需要立即调用,但是又想改变这个函数内部的this指向此时的bind
有一个按钮,当我们点击了之后就禁用这个按钮,3秒之后开启这个按钮
相同点:都可以改变函数内部的this指向
区别点:call和apply会调用函数,并且改变函数内部this指向
call和apply传递的参数不一样,call传递参数,apply必须以数组形式
bind不会调用函数,可以改变函数内部this指向
call经常做继承
apply经常跟数组有关系,比如借助于数学对象实现数组最大值最小值
bind不调用函数,但是还想改变this指向,比如改变定时器内部的this指向
高阶函数:高阶函数是对其他函数进行操作的函数,它接受函数昨晚参数或将函数作为返回值输出
定义:指有权访问另一个函数作用域中变量的函数
简单理解就是,一个作用域可以访问另外一个函数内部的局部变量,闭包就是函数
内部函数访问外部作用域函数变量的时候,只有当闭包函数被调用完毕,该变量才会被销毁,否则将一直存放在闭包函数中(闭包对象)
闭包的主要作用:延伸了变量的作用范围
点击li输出当前li的索引号
立即执行函数也称为小闭包,因为立即执行函数里面的任何一个函数都可以使用它的i变量
- 榴莲
- 臭豆腐
- 鲱鱼罐头
- 大猪蹄子
3秒后,打印li元素的内容
- 榴莲
- 臭豆腐
- 鲱鱼罐头
- 大猪蹄子
计算打车价格
上一篇:小侃设计模式(二)-单例模式
下一篇:PINN期刊推荐总结