为什么要用PolyFill(JS中的修补匠)
var users = [{name:”zhangsan”,age:18},{name:”jack”,age:20}];
这是一个对象数组。如果我们要查询名字为”jack”用户的年龄、常用的办法是什么?
很多同学会想到遍历这个数组。
我们来看看新的语法:
var getUser = users.find(function(finder){
return finder.name = "jack"
});
注意
1.这种新的语法目前被纳入了ES2015;
2.但是我之前使用的babel转换器只会转化新的句法,对一些API不转化。请查看http://babeljs.io/#polyfill (我们之前的Promise也是);
3.同时你如果要直接在网页中赤裸裸的写这种代码,那么有些浏览器是不兼容的。这时babel-polyfill库就产生了。它起到了一个”修补”作用;
比如你执行了find方法,如果浏览器不支持,它就会自动帮你处理为”循环遍历”;
4.这就好比jquery修补了ajax(针对不同的浏览器启用不同的xmlhttp对象)。
那么如何使用babel-polyfill这个工具呢?
安装:$ npm install --save-dev babel-polyfill
然后我们引入
var users = [{name:"zhangsan",age:18},{name:"jack",age:20}];
var getUser = users.find(function(finder){
return finder.name = "jack"
});
console.log(getUser.age);
这样就兼容浏览器了
本文学习自:https://blog.csdn.net/github_26672553/article/details/52138298
本文转载自:https://www.jianshu.com/p/3c0359285d77
为什么要用PolyFill(JS中的修补匠)的更多相关文章
- js中的bind方法的实现方法
js中目前我遇见的改变作用域的5中方法:call, apply, eval, with, bind. var obj = { color: 'green' } function demo () { c ...
- 5.0 JS中引用类型介绍
其实,在前面的"js的六大数据类型"文章中稍微说了一下引用类型.前面我们说到js中有六大数据类型(五种基本数据类型 + 一种引用类型).下面的章节中,我们将详细讲解引用类型. 1. ...
- 【repost】JS中的异常处理方法分享
我们在编写js过程中,难免会遇到一些代码错误问题,需要找出来,有些时候怕因为js问题导致用户体验差,这里给出一些解决方法 js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要 ...
- JS中给正则表达式加变量
前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下. 一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...
- js中几种实用的跨域方法原理详解(转)
今天研究js跨域问题的时候发现一篇好博,非常详细地讲解了js几种跨域方法的原理,特分享一下. 原博地址:http://www.cnblogs.com/2050/p/3191744.html 下面正文开 ...
- 关于js中的this
关于js中的this this是javascript中一个很特别的关键字,也是一种很复杂的机制,学习this的第一步就是要明白this既不指向函数自身也不指向函数的词法作用域,this实际上是函数被调 ...
- 表值函数与JS中split()的联系
在公司用云平台做开发就是麻烦 ,做了很多功能或者有些收获,都没办法写博客,结果回家了自己要把大脑里面记住的写出来. split()这个函数我们并不陌生,但是当前台有许多字段然后随意勾选后的这些参数传递 ...
- JS中 call() 与apply 方法
1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...
- 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查
Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...
随机推荐
- SpringBoot之文件上传
package org.springboot.controller; import org.apache.logging.log4j.LogManager; import org.apache.log ...
- Lodop打印项对象类型属性区分
Lodop提供了一些打印项类型,默认是普通项,通过设置打印对象的类型,可以实现一些普通项不能实现的效果.例如:该博客另一篇博文 标题是Lodop打印控件 打印‘接下一页’‘以下空白’,就用了眉脚项. ...
- asp.net—WebApi跨域
一.什么是跨域? 定义:是指浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制. 同源策略限制了以下行为: 1.Cookie.LocalStora ...
- 3.ansible-iventory的写法和基本变量
ansible的配置文件一点要多考虑,有些设定比如ssh端口啊用户啊线程啊都尽量在里面调节好iventory的话/etc/ansible/hosts 里面可以使用正则匹配ansible从invento ...
- Element UI 中组件this.$message报错
最近在做毕设的时候,用Element UI中的消息提示message一直报以下的错误: 展示的效果也不好看,没有图标什么的: 但我明明有在main.js引入了element-ui 呀,因为毕设时间很赶 ...
- JavaScript——JS屏蔽F12和右键
键盘表 来源:http://www.phpweblog.net/kiyone/archive/2007/04/19/1138.html 通过onkeydowm监听键盘按下事件,并修改键盘码 //禁止F ...
- 如何保证 spring-boot 和 spring-cloud版本一致
spring-boot 版本 和 spring-cloud版本是一一对应的,很多错误都是由于版本不一致导致的.很多百度的东西太老了, 版本一升级就会出错. spring的jar包依赖关系是最难的,但聪 ...
- C#中 const 和 readonly 的区别
C#中 const 和 readonly 的区别 来源 https://www.cnblogs.com/gsk99/archive/2008/10/10/1308299.html http://dev ...
- 使用tree命令导出文件夹/文件的目录树
前提:己安装扩展: 介绍: TREE [drive:][path] [/F] [/A] /F 显示每个文件夹中文件的名称.(带扩展名) /A 使用 ASCII 字符,而不使用扩展字符. t ...
- word 2013 题注、图注、插入图片自动修改大小、批量更新题注编号
1 .题注 图片下面的文字说明,如 图 1.1.1 2.图注 图的标题格式,可以右键修改段落为居中,选中图片,点下此格式快捷居中等其他格式 3. 题注插入 效果 如下 4.题注自动居中对齐 先点击图 ...