es5

js中数组方法大全

匿名 (未验证) 提交于 2019-12-03 00:03:02
js数组方法大全    一: 前言   我们在学到js中数组的时候,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会忘记,那么在这里我整理了21个数组的方法,供大家查阅。 方法名 对应版本 功能 原数组是否改变 concat() ES5- 合并数组,并返回合并之后的数据 n join() ES5- 使用分隔符,将数组转为字符串并返回 n pop() ES5- 删除最后一位,并返回删除的数据 y shift() ES5- 删除第一位,并返回删除的数据 y unshift() ES5- 在第一位新增一或多个数据,返回长度 y push() ES5- 在最后一位新增一或多个数据,返回长度 y reverse() ES5- 反转数组,返回结果 y slice() ES5- 截取指定位置的数组,并返回 n sort() ES5- 排序(字符规则),返回结果 y splice() ES5- 删除指定位置,并替换,返回删除的数据 y toString() ES5- 直接转为字符串,并返回 n valueOf() ES5- 返回数组对象的原始值 n indexOf() ES5 查询并返回数据的索引 n lastIndexOf() ES5 反向查询并返回数据的索引 n forEach() ES5

ECMAScript6转码器,ES6转ES5

匿名 (未验证) 提交于 2019-12-03 00:02:01
现在越来越多的前端开始关注ES6,也有一部分人开始用ECMAScript 6,但是ES6的一些新的特性并不被低版本的浏览器支持。 所以这次就分享一个ES6转ES5的方法。 一、首先建立一个文件夹,然后里面创建.babelrc文件 有时候这个文件创建不了的,可以从别处复制过来 .babelrc文件的内容填写如下: { "presets": [], "plugins": [] } .babelrc的后期修改需要手动填写。 二、npm init来初始化项目(一路回车就可以有yes就选择yes) 执行完成后得到package.json文件,这个文件里面的咱们不用管理 三、安装babel npm install -g babel-cli 这个是全局安装,你也可以选择目录安装 npm install --save-dev babel-cli 四、转码规则 //最新转码规则 npm install --save-dev babel-preset-latest//必装 //四个提案的转码规则,选装一个银行代码http://www.gendan5.com/swiftcode.html npm install --save-dev babel-preset-stage-0//展示阶段 npm install --save-dev babel-preset-stage-1//征求意见阶段 npm

es5实现map/filter

匿名 (未验证) 提交于 2019-12-02 23:48:02
/*--> */ /*--> */ /*--> */ /*--> */ /*--> */ // ES5 循环循环实现filter const selfFilter = function (fn, context) { let arr = Array.prototype.slice.call(this) let filteredArr = [] for (let i = 0; i < arr.length; i++) { if(!arr.hasOwnProperty(i)) continue; fn.call(context, arr[i], i, this) && filteredArr.push(arr[i]) } return filteredArr } // ES5 循环实现map const selfMap = function (fn, context) { let arr = Array.prototype.slice.call(this) let mappedArr = [] for (let i = 0; i < arr.length; i++) { // 判断稀疏数组的情况 if (!arr.hasOwnProperty(i)) continue; mappedArr.push(fn.call(context, arr[i], i, this)) } return

ES5 Object.assign 低版本浏览器内核兼容问题

谁说我不能喝 提交于 2019-12-02 22:39:47
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };    来源: https://www.cnblogs.com/tongbiao/p/11765326.html

Javascript之函数(ES5 ES6)

匿名 (未验证) 提交于 2019-12-02 21:53:52
ES5函数: 1:静态方法 2:直接量方法  console.log(another(10,10));   3:动态匿名方法:使用Function构造函数 函数是对象,函数名是指针 "的概念; ES6函数: 1:ES6对默认参数的支持 function log(x, y = 'World') { } 参数默认值可以与解构复制的默认值,结合起来使用。 function foo({x, y = 5}) { } 解构赋值的例子: function fetch(url, { body = '', method = 'GET', headers = {} }) { } fetch('http://example.com', {}) // "GET" fetch('http://example.com') // error 2:rest参数 ES6 引入 rest 参数(形式为 ...变量名 ),用于获取函数的多余参数,这样就不需要使用 arguments 对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中 function add(...values) { } add(2, 5, 3) // 10 3:箭头函数 var f = v => v; var f = function (v) { }; 文章来源: Javascript之函数(ES5 ES6)

javascript保留关键字

时光毁灭记忆、已成空白 提交于 2019-12-02 16:29:48
JavaScript 保留关键字 在 JavaScript 中,一些标识符是保留关键字,不能用作变量名或函数名。 JavaScript 标准 所有的现代浏览器完全支持 ECMAScript 3(ES3,JavaScript 的第三版,从 1999 年开始)。 ECMAScript 4(ES4)未通过。 ECMAScript 5(ES5,2009 年发布),是 JavaScript 最新的官方版本。 随着时间的推移,我们开始看到,所有的现代浏览器已经完全支持 ES5。 JavaScript 保留关键字 Javascript 的保留关键字不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。 abstract arguments boolean break byte case catch char class* const continue debugger default delete do double else enum* eval export* extends* false final finally float for function goto if implements import* in instanceof int interface let long native new null package private

箭头函数的arguments不可用

戏子无情 提交于 2019-12-02 08:58:47
ES5中的arguments function func(a,b,c){ console.log(arguments[0],arguments[1],arguments[2]) } func(1,2,3) //1,2,3 在使用箭头函数时,arguments 指向的对象并不是当前函数所属的argments,而是上级函数的arguments,可以使用 剩余运算符(rest) 来替代,详情见: https://www.cnblogs.com/vickylinj/p/11739473.html let func = (...rest) => { console.log(rest) } func(1,2,3) //[1,2,3] 来源: https://www.cnblogs.com/vickylinj/p/11739506.html

常用的String总结 ES5/6/7/8/9/10

点点圈 提交于 2019-12-02 06:14:54
第一部分介绍字符串的定义和访问 1. 字符串定义 使用new操作符来定义 new String let str = new String(); 使用 ‘ ’ 定义 数组字面量法 let str = ''; 2. 字符串赋值 使用字符串字面量法赋值 (常用) let str = 'a'; 3. 值的访问 通过字符串下标的索引访问 let str = 'a'; let item = str[0]; // 'a' 通过charAt访问 let str = 'abcd'; console.log(str.charAt(2)); // c 模板字符串 [ES6新增] // ES5 let str = 'a'; let str1 = 'hello' + str + '!' ; console.log(str1); // helloa'!' // ES6 let str = 'a'; let str1 = `hello${str}'!'`; console.log(str1); // helloa'!' 注:我们可以发现模板字符串相对原来的写法很简洁了些,现在的应用也比较广泛 第二部分介绍的方法不会改变原始字符串,返回一个新的值或对象 1. string.concat(string1, string2, string3)用于连接多个字符串,返回一个新的字符串 let string =

ES5与ES6的区别

萝らか妹 提交于 2019-12-02 01:44:08
什么是ES5 作为ECMAScript第五个版本(第四版因为过于复杂废弃了),增加特性如下。 strict模式 严格模式,限制一些用法,’use strict’; Array增加方法 增加了every、some 、forEach、filter 、indexOf、lastIndexOf、isArray、map、reduce、reduceRight方法 PS: 还有其他方法 Function.prototype.bind、String.prototype.trim、Date.now Object方法 Object.getPrototypeOf Object.create Object.getOwnPropertyNames Object.defineProperty Object.getOwnPropertyDescriptor Object.defineProperties Object.keys Object.preventExtensions / Object.isExtensible Object.seal / Object.isSealed Object.freeze / Object.isFrozen PS:只讲有什么,不讲是什么。 什么是ES6 ECMAScript6在保证向下兼容的前提下,提供大量新特性,目前浏览器兼容情况如下: ES6特性如下: 1.块级作用域

【gulp】配置es6转es5

会有一股神秘感。 提交于 2019-12-01 13:26:26
【gulp】配置es6转es5 先安装node,然后来到项目根目录 安装gulp npm install gulp 初始化一下 npm init -y 安装babel npm install --save-dev gulp-babel babel-core 安装 ES6 转换成 ES5 插件 npm install --save-dev babel-preset-es2015 在项目根目录创建文件 .babelrc ,内容 { "presets": ["es2015"] } 配置gulp:在根目录中创建一个gulpfile.js,内容 const gulp = require('gulp'); const babel = require("gulp-babel"); //es6转es5 gulp.task("ese", function () { return gulp.src("src/*.js")// ES6存放路径 .pipe(babel()) .pipe(gulp.dest("dist")); //转换成 ES5 后存放的路径 }); // 监视src文件变化,自动执行任务 gulp.task('watch', function () { gulp.watch('src/*.js', gulp.series("ese")); }) gulp.task('start'