文章目录

  • 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(扩展)-学习笔记相关推荐

  1. ES6基础教程一 学习笔记

    一.变量的声明 1.var 声明全局变量 在ES6中var用来声明全局变量. 2.let 声明局部变量 3.const 声明常量 二.变量的解构赋值 //1.数组赋值 let [a,b,c]=[1,2 ...

  2. AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理

    AI Studio 飞桨 零基础入门深度学习笔记6.3-手写数字识别之数据处理) 概述 前提条件 读入数据并划分数据集 扩展阅读:为什么学术界的模型总在不断精进呢? 训练样本乱序.生成批次数据 校验数 ...

  3. AI Studio 飞桨 零基础入门深度学习笔记1-深度学习的定义

    AI Studio 飞桨 零基础入门深度学习-笔记 人工智能.机器学习.深度学习的关系 机器学习 机器学习的实现 机器学习的方法论 案例:牛顿第二定律 确定模型参数 模型结构介绍 深度学习 神经网络的 ...

  4. 零基础学前端之HTML全套基础教程【学习笔记】

    [前端总路线学习笔记] 文章目录 HTML全套基础教程[学习笔记] 1.系统结构 2.软件环境准备 3.HTML概述 4. 我的第一个HTML 5. HTML的基本标签 6.HTML的实体符号 7. ...

  5. AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型

    AI Studio 飞桨 零基础入门深度学习笔记2-基于Python编写完成房价预测任务的神经网络模型 波士顿房价预测任务 线性回归模型 线性回归模型的神经网络结构 构建波士顿房价预测任务的神经网络模 ...

  6. Vue学习(增删改查、ES6模块化概念)-学习笔记

    文章目录 Vue学习(增删改查.ES6模块化概念)-学习笔记 增删改查案例 ES6模块化概念 Vue学习(增删改查.ES6模块化概念)-学习笔记 增删改查案例 <!DOCTYPE html> ...

  7. 【PM学习笔记】酸梅干超人 - 零基础学Figma学习笔记

    原视频链接: B站视频 零基础学Figma学习笔记 心得体会 第1课 - 苹果商店页设计 第2课 - 线性图标设计 第3课 - 面性图标设计 第4课 玻璃拟态页设计 第5课 样式组件功能入门 第6课 ...

  8. Unity开发基础——使用字符串学习笔记

    蓝鸥Unity开发基础使用字符串学习笔记 本节内容:使用字符串:字符串拼接.转义字符 一.字符串拼接:字符串可以使用+或+=进行字符串拼接!! using System; namespace Less ...

  9. 韩顺平 2021零基础学Java 学习笔记

    韩顺平 2021零基础学Java 学习笔记(1)(自用)_丨shallow丨的博客-CSDN博客_韩顺平java笔记 韩顺平 2021零基础学Java 学习笔记(2)(自用)_丨shallow丨的博客 ...

  10. AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍

    AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍 深度学习框架 深度学习框架优势 深度学习框架设计思路 飞桨开源深度学习平台 飞桨开源深度学习平台全景 框架和全流程工具 模 ...

最新文章

  1. tf.keras.layers.Dropout 示例
  2. 使用 Linux 子系统部署 Node、Gradle 项目的构建工具
  3. I9 9900K线程_9900k配什么主板
  4. Spring整合定时任务组件Quartz的简单使用
  5. Web server调研分析
  6. activemq优先级_ActiveMQ消息优先级:工作原理
  7. 担当大任者的九大特征
  8. nginx-zabbix监控脚本
  9. 用C#编写一个抓网页的应用程序
  10. 打蚊子表情包_一拳超人:埼玉明显是动真格,蚊子为何能躲开埼玉的攻击?
  11. 算法导论 练习9.3-8两个有序数组的中位数
  12. 数据库优化的几种方法
  13. Window环境下使用C#调用VBScript、JavaScript等脚本
  14. docker“少折腾”
  15. Voxel-Based Global Illumination
  16. 点击次数(thinkphp)
  17. json_decode 打印 null
  18. QML 获取当前时间戳 yyyy-MM-dd hh:mm:ss.zzz
  19. 让MAC在TouchBar显示网速
  20. windows Git Gui 汉化

热门文章

  1. python输出列/行内容显示不全
  2. Effective Java之在公有类中使用访问方法而非公有域(十四)
  3. 23行代码_动图展示——快排详解(排序最快的经典算法)
  4. sublime python插件_sublime text 3 + python配置,完整搭建及常用插件安装
  5. mysql 事物状态有几种_10分钟梳理MySQL核心知识点
  6. Linux磁盘管理与文件系统(实验详解,一看就懂)
  7. 进阶Linux大佬的奠基石
  8. 电脑无法连接到系统服务器,请问怎么客户端的电脑连接不到服务器?这是什么原因?...
  9. 多维数组的索引与切片_Numpy库使用入门(二)数据的索引和切片
  10. cfile 修改某些位_王者荣耀:打野刀效果再次修改,自定义房间配置试运行!