ES6基础3(扩展)-学习笔记
文章目录
- ES6基础3(扩展)-学习笔记
- 字符串扩展
- 数值扩展
- 函数扩展
- 扩展运算符
ES6基础3(扩展)-学习笔记
字符串扩展
//扩展//字符串扩展charAt(); //返回指定索引位置的字符 //var str = "hello world"; str.charAt(2) //lindexOf(); //返回字符串中检索指定字符第一次出现的位置 //var str = "hello world"; str.indexOf('o') //llastIndexOf();//返回字符串中检索指定字符最后一次出现的位置 slice() // 提取字符串的片断,并在新的字符串中返回被提取的部分 //var str = "hello world"; str.slice(2,6) //"llo "split() //把字符串分割为子字符串数组 //var str = "hello world"; str.split('')toLowerCase()// 把字符串转换为小写toUpperCase() //把字符串转换为大写 substr(start,length) // 从起始索引号提取字符串中指定数目的字符//var str = "hello world"; str.substr(1,4)substring(start,stop) //提取字符串中两个指定的索引号之间的字符//es6includes() //返回布尔值,表示是否找到了参数字符串。//var str = "hello world"; if(str.includes('h'))//数据匹配查询---模糊匹配var arr = ['abcde','red','blue','orange','dfag','agabeiy']; //列表数据var a = 'e'; //输入的值var f = arr.filter(function(item){//return item.indexOf(a) !=-1; //==-1不匹配 !=-1 匹配return item.includes(a);});console.log(f);startsWith() //返回布尔值,表示参数字符串是否在原字符串的头部。 区分 大小写//var str = "hello world"; str.startsWith('h')//var str = "hello world"; str.startsWith('h',3) //3表示位置endsWith() //返回布尔值,表示参数字符串是否在原字符串的尾部repeat() //返回一个新字符串,表示将原字符串重复n次。'x'.repeat(3); //'xxx' repeat(n) n重复的次数padStart() //用于头部补全'x'.padStart(4,'ab') // 'x'.padStart(指定长度,补全的内容) padEnd() //用于尾部补全。'x'.padEnd(4,'ab') // 'x'.padStart(指定长度,补全的内容) //指数运算符(**)2**2 //42**3 //8var a = 3;a**=3; //a=a*a*a a**=2 ==>a=a*aconsole.log(a)
数值扩展
//数值扩展//ES5parseInt('10.05');parseFloat('10.05');//es6Number.parseInt('10.05');Number.parseFloat('10.05');//Number.isInteger()用来判断一个数值是否为整数。//25 25.1Number.isInteger(25) //trueNumber.isInteger(25.0) //trueNumber.isInteger(25.1) //falseNumber.isInteger('10') //falseNumber.isInteger(null) //falseNumber.isInteger(true) //falseNumber.isInteger() //false//Math对象Math.round(3.6); //四舍五入 4Math.ceil(3.1); //向上 =4Math.floor(3.9); //向下 3//Math.trunc() 用于去除一个数的小数部分,返回整数部分。Math.trunc(3.1) // 3Math.trunc('3.9') //3Math.trunc(-3.9) //-3//Math.sign()方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。//会返回五种值://1 参数为正数 返回+1//2 参数为负数 返回-1//3 参数为0 返回0//4 参数为-0 返回-0//5 参数为其它值 是非数值 会自动转为数值,无法转换 会返回NANMath.sign(10)Math.sign(-10)Math.sign(0)Math.sign(-0)Math.sign('10')Math.sign(true)Math.sign(false)Math.sign('abc')
函数扩展
//函数扩展//ES5function fun(x,y){y = y || 10;console.log(x,y);};fun(100);ES6function fun(x,y=10){console.log(x,y);};fun(100);//rest参数 表现形式(...变量名) arguments对象//rest参数和arguments对象的区别:arguments对象并不是一个数组,无法使用数组中的方法和属性,rest参数是一个数组function fun(){console.log(arguments[2]) //{}}fun(1,2,3,4,2,3,5,2,6,234,3);//es6function fun(...value){console.log(value) }fun(1,2,3,4,2,3,5,2,6,234,3);//对比function fun(x,y,...value){value.push(10);console.log(value) }fun(1,2,3,5,7,9);//箭头函数var f = v => v; //函数名 =参数 => 函数体var f = function(v) {return v;};//参数为空var f =() => 123;//多个参数var f = (a,b) =>a+b;//返回的是一个对象var f = function(v) {return {id:1,name:v}};var f = v => ({id:1,name:v});f('abc');//传默认值var f = (x,y=10)=>{console.log(x,y);};f(100);//解构var f = ({x=0,y=0}={})=> [x,y];f({x:10,y:8});//箭头函数 注意点!!!//1、箭头函数不能当作构造函数,不可以使用new命令 var Fun = ()=>{this.name = 'a';};var f1 = new Fun(); //Fun is not a constructor//2、箭头函数没有原型属性//每一个函数对象都有prototype属性,普通对象没有,prototype里面有一个constructor,指向这个函数;function a(){}a.prototype; // constructor: ƒ a()//es6var a2 = ()=>{}a2.prototype;//3、不可以使用arguments对象,该对象在函数体内不存在 替代 rest参数var fun = ()=>{console.log(arguments[2]) //{}}fun(1,2,3,4,2,3,5,2,6,234,3); //arguments is not defined//es6var fun = (x,y,...value)=>{value.push(10);console.log(value) }fun(1,2,3,5,7,9);//4、this指向 定义时所在的对象 并不是调用者 this指向外层调用者var name = 'abc';var obj = {name:'xyz',f:function(){console.log(this.name) //this = obj},f2:()=>{console.log(this.name) //this = window},f3:function(){var f4 = ()=>{console.log(this) } //this = objreturn f4();}};obj.f();obj.f2(); //window.obj.f2() f2函数是在obj对象中,而obj是全局的 ,f2固定在全局了//定时器 thisfunction Fun(){// this.name = 'abc';setTimeout(function(){console.log(this) //this = window},2000)};var f = new Fun();function Fun(){// this.name = 'abc';setTimeout(()=>{console.log(this) //this = Fun()},2000)};var f = new Fun();//作用域var x = 1;function f(x,y = x) {console.log(y)};f(10); //10var x = 1;function f(y = x) {let x = 20;console.log(y)};f(); //1function f(y = x) {let x = 20;console.log(y)};f(); //x is not defined
扩展运算符
//扩展运算符 ... 将一个数组对象转为用逗号分参数序列//数组合并//es5var a1 = [1,2,3]; //1,2,3var a2 = [4,5,6];a1 = a1.concat(a2); //a1.push(...a2)console.log(a1);//es6a1 = [...a1,...a2,...[7,8],9];a1.push(...a2);//[1,2,3,4,5,6,7,8,9]//深拷贝 浅拷贝var a3 = [1,2,3];var a4 = [...a3];a4[1] = 10;console.log(a3); //[1,2,3];var a3 = [1,{id:2},3];var a4 = [...a3];a4[1].id = 10;console.log(a3); // 浅拷贝 [1,{id:10},3];//扩展运算与rest的结合function add(x,y){return x+y};var n = [10,20];add(...n);//restfunction add2(...rest){return rest};add2(...n);//demovar arr = [1,2];function f(...item){ //rest参数console.log(item); //[0 1 2 3 4 5]console.log(...item); // 0 1 2 3 4 5 扩展运算符};f(0,...arr,3,4,...[5]) //扩展运算符//扩展运算符与解构结合var [a,...b] = [1,2,3,4,5];var [a,...b] = [];var [a,...b] = ['a'];//注意 产生错误 只能放在参数的最后一位,否则报错var [...a,b] = [1,2,3,4,5]; //errorvar [a,...b,c] = [1,2,3,4,5]; //error
ES6基础3(扩展)-学习笔记相关推荐
- ES6基础教程一 学习笔记
一.变量的声明 1.var 声明全局变量 在ES6中var用来声明全局变量. 2.let 声明局部变量 3.const 声明常量 二.变量的解构赋值 //1.数组赋值 let [a,b,c]=[1,2 ...
- AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理
AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理) 概述 前提条件 读入数据并划分数据集 扩展阅读:为什么学术界的模型总在不断精进呢? 训练样本乱序.生成批次数据 校验数 ...
- AI Studio 飞桨 零基础入门深度学习笔记1-深度学习的定义
AI Studio 飞桨 零基础入门深度学习-笔记 人工智能.机器学习.深度学习的关系 机器学习 机器学习的实现 机器学习的方法论 案例:牛顿第二定律 确定模型参数 模型结构介绍 深度学习 神经网络的 ...
- 零基础学前端之HTML全套基础教程【学习笔记】
[前端总路线学习笔记] 文章目录 HTML全套基础教程[学习笔记] 1.系统结构 2.软件环境准备 3.HTML概述 4. 我的第一个HTML 5. HTML的基本标签 6.HTML的实体符号 7. ...
- AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型
AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型 波士顿房价预测任务 线性回归模型 线性回归模型的神经网络结构 构建波士顿房价预测任务的神经网络模 ...
- Vue学习(增删改查、ES6模块化概念)-学习笔记
文章目录 Vue学习(增删改查.ES6模块化概念)-学习笔记 增删改查案例 ES6模块化概念 Vue学习(增删改查.ES6模块化概念)-学习笔记 增删改查案例 <!DOCTYPE html> ...
- 【PM学习笔记】酸梅干超人 - 零基础学Figma学习笔记
原视频链接: B站视频 零基础学Figma学习笔记 心得体会 第1课 - 苹果商店页设计 第2课 - 线性图标设计 第3课 - 面性图标设计 第4课 玻璃拟态页设计 第5课 样式组件功能入门 第6课 ...
- Unity开发基础——使用字符串学习笔记
蓝鸥Unity开发基础使用字符串学习笔记 本节内容:使用字符串:字符串拼接.转义字符 一.字符串拼接:字符串可以使用+或+=进行字符串拼接!! using System; namespace Less ...
- 韩顺平 2021零基础学Java 学习笔记
韩顺平 2021零基础学Java 学习笔记(1)(自用)_丨shallow丨的博客-CSDN博客_韩顺平java笔记 韩顺平 2021零基础学Java 学习笔记(2)(自用)_丨shallow丨的博客 ...
- AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍
AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍 深度学习框架 深度学习框架优势 深度学习框架设计思路 飞桨开源深度学习平台 飞桨开源深度学习平台全景 框架和全流程工具 模 ...
最新文章
- tf.keras.layers.Dropout 示例
- 使用 Linux 子系统部署 Node、Gradle 项目的构建工具
- I9 9900K线程_9900k配什么主板
- Spring整合定时任务组件Quartz的简单使用
- Web server调研分析
- activemq优先级_ActiveMQ消息优先级:工作原理
- 担当大任者的九大特征
- nginx-zabbix监控脚本
- 用C#编写一个抓网页的应用程序
- 打蚊子表情包_一拳超人:埼玉明显是动真格,蚊子为何能躲开埼玉的攻击?
- 算法导论 练习9.3-8两个有序数组的中位数
- 数据库优化的几种方法
- Window环境下使用C#调用VBScript、JavaScript等脚本
- docker“少折腾”
- Voxel-Based Global Illumination
- 点击次数(thinkphp)
- json_decode 打印 null
- QML 获取当前时间戳 yyyy-MM-dd hh:mm:ss.zzz
- 让MAC在TouchBar显示网速
- windows Git Gui 汉化
热门文章
- python输出列/行内容显示不全
- Effective Java之在公有类中使用访问方法而非公有域(十四)
- 23行代码_动图展示——快排详解(排序最快的经典算法)
- sublime python插件_sublime text 3 + python配置,完整搭建及常用插件安装
- mysql 事物状态有几种_10分钟梳理MySQL核心知识点
- Linux磁盘管理与文件系统(实验详解,一看就懂)
- 进阶Linux大佬的奠基石
- 电脑无法连接到系统服务器,请问怎么客户端的电脑连接不到服务器?这是什么原因?...
- 多维数组的索引与切片_Numpy库使用入门(二)数据的索引和切片
- cfile 修改某些位_王者荣耀:打野刀效果再次修改,自定义房间配置试运行!