当前位置: 首页 > news >正文

广平企业做网站推广济南网络推广公司电话

广平企业做网站推广,济南网络推广公司电话,长春网站建设哪家专业,电销数据购买平台ES6的系列文章目录 第一章 Python 机器学习入门之pandas的使用 文章目录 ES6的系列文章目录0、数值的扩展一、函数的扩展1、函数的默认值2、函数的reset参数 二、数组的扩展1. 将对象转成数组的Array.from()2. 将对象转成数组的Array.from()3. 实例方法 find(),fin…

ES6的系列文章目录

第一章 Python 机器学习入门之pandas的使用


文章目录

  • ES6的系列文章目录
  • 0、数值的扩展
  • 一、函数的扩展
    • 1、函数的默认值
    • 2、函数的reset参数
  • 二、数组的扩展
    • 1. 将对象转成数组的Array.from()
    • 2. 将对象转成数组的Array.from()
    • 3. 实例方法 find(),findIndex(),findLast(),findLastIndex()
  • 三、对象的扩展
    • 1.判断两个对象是否相等 Object.is()
    • 2.对象的合并方法 Object.assign()

0、数值的扩展

其实数值的方法有很多,但大部分都是稍加了解即可,这里着重讲下Number.EPSILON,它是 JavaScript 能够表示的最小精度。误差如果小于这个值,就可以认为已经没有意义了,即不存在误差了。

经典面试题:0.1 + 0.2 === 0.3 吗? 为什么

答案: 不等于
原因:对于 64 位浮点数来说,大于 1 的最小浮点数相当于二进制的1.00..001,小数点后面有连续 51 个零。 这个值减去 1 之后,就等于 2 的 -52 次方。

// 经典面试题:0.1 + 0.2 === 0.3 吗? 为什么  // 1:答案: 不等于。
console.log(0.1 + 0.2 === 0.3) // false
console.log(0.1 + 0.2) // 0.30000000000000004
// 2:原因:对于 64 位浮点数来说,大于 1 的最小浮点数相当于二进制的1.00..001,小数点后面有连续 51 个零。 这个值减去 1 之后,就等于 2 的 -52 次方。
console.log(0.1 + 0.2 - 0.3) // 5.551115123125783e-17
console.log(5.551115123125783e-17.toFixed(20)) // '0.00000000000000005551'// 3:如何解决
function equal(a, b) {if(Math.abs(a-b) < Number.EPSILON) {return true;} else {return false;}
}
console.log(0.1 + 0.2 === 0.3) // false
console.log(equal(0.1 + 0.2, 0.3)) // true

在这里插入图片描述

一、函数的扩展

1、函数的默认值

简单概况: 允许给函数的参数设置默认值。相当于是为函数的参数加了一层保险(如果你没有给对应形参数量的实参的保险),同时为了更好辨别,一般将要设置默认值的放在最后面。

function add (a, b, c=10) {return a + b + c;
}
let a1 = add(1,2,3);
let a2 = add(1,2);
console.log(a1); // 6  1+2+3
console.log(a2); // 13 1+2+10

2、函数的reset参数

es6引入rest参数用于获取函数的实参(用来替代arguments)

以下为es5和es6的对比及其效果

// es5
function getUser(){console.log(...arguments);
}
getUser('张三','李四','王五');// es6 的 rest参数
function getAge (a, b, ...c) {console.log(a);console.log(b);console.log(c);  // rest 参数可以是任意名字(符合命名规范)
}
getAge(1,2,3,4,5,6);

在这里插入图片描述

二、数组的扩展

1. 将对象转成数组的Array.from()

// 1:将对象转成数组  Array.from()
letarrayLike = {'0': 'a','1': 'b','2': 'c',length: 3
};// 1.1:ES5 的写法
var arr1 = [].slice.call(arrayLike);
console.log(arr1); // ['a', 'b', 'c']
// 1.2:ES6 的写法
let arr2 = Array.from(arrayLike);
console.log(arr2); // ['a', 'b', 'c']// 1.3:arguments 对象
function foo() {var args = Array.from(arguments);console.log(args)
}
foo(1,2,3,4,5,6,7); // [,2,3,4,5,6,7]

在这里插入图片描述

2. 将对象转成数组的Array.from()

// 2:将一组值转换为数组  Array.of()
// 2.1: 错误示范(参数为1个和两个都错误)
console.log(Array()) // []
console.log(Array(3)); // [空属性 × 3]
// 2.2: 正确示范     
console.log(Array.of(1, 2, 3)) // [1,2,3]
console.log(Array.of(3)) // [3]
console.log(Array.of(3).length) // 1

在这里插入图片描述

3. 实例方法 find(),findIndex(),findLast(),findLastIndex()

// 3:实例方法 find(),findIndex(),findLast(),findLastIndex() 
// 3.1find和findIndex共同点:找出第一个符合条件的数组成员。参数是一个回调函数,所有数组成员依次执行该回调函数。
// (1)find() 找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
let a1 = [1, 5, 10, 15].find(function(value, index, arr) {return value > 9;
}) // 10
console.log('3.1:', a1);
let a2 = [1, 5].find(function(value, index, arr) {return value > 9;
}) // undefined
console.log('3.1:', a2);
// (2) findIndex() 找出返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
let a3 = [1, 5, 10, 15].findIndex(function(value, index, arr) {return value > 9;
}) // 2
console.log('3.2:', a3);
let a4 = [1, 5].findIndex(function(value, index, arr) {return value > 9;
}) // -1
console.log('3.2:', a4);
// 3.2:findLast和findLastIndex共同点:找出最后一个符合条件的数组成员。参数是一个回调函数,所有数组成员依次执行该回调函数。
// findLast() “从结尾开始”找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
// findLastIndex() “从结尾开始”找出返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1// 3.3注意点:indexOf()方法无法识别数组的NaN成员,但是findIndex()方法可以借助Object.is()方法做到。
console.log([NaN].indexOf(NaN))// -1
console.log([NaN].findIndex(y => Object.is(NaN, y)))// 0

在这里插入图片描述

三、对象的扩展

1.判断两个对象是否相等 Object.is()

// 1: Object.is  判断两个数值是否完全相等
console.log(Object.is('张三', '张三')) // trueconsole.log(Object.is(18, 18)) // trueconsole.log(Object.is(NaN, NaN)) // true// 注意点:严格运算符(===)和 Object.is()的区别:+0不等于-0,NaN等于自身。console.log(+0 === -0) // trueconsole.log(NaN === NaN) // falseconsole.log(Object.is(+0, -0)) // falseconsole.log(Object.is(NaN, NaN)) // true

在这里插入图片描述

2.对象的合并方法 Object.assign()

// 2: Object.assign() 对象的合并方法
//2.1: 合并过程中后面覆盖前面的
let obj = {name: '张三',age: 18,sex: '男'
}
let obj1 = {name: '李四',age: 19,
}
console.log(Object.assign(obj, obj1));// 2.2 对象的浅拷贝 (复制的对象拷贝得到的是这个对象的引用)
let obj2 = Object.assign({}, obj1);
console.log(obj2, obj === obj2); //{name:'李四',age:19} false

在这里插入图片描述

http://www.yidumall.com/news/95294.html

相关文章:

  • 建站网站知乎百度推广找谁做
  • 单招网站开发百度广告搜索推广
  • title 网站建设站长工具综合权重查询
  • 枣强网站建设电话杭州百度推广开户
  • wordpress 横排显示seo交流网
  • 东莞百姓网交友站长之家seo一点询
  • 做网站用什么字体最明显b站推广入口2023
  • 做商业网站厦门百度推广排名优化
  • 外贸建站优化软件开发需要学什么
  • 网页制作与网站开发感想宁波优化推广选哪家
  • wordpress 优惠码大连seo建站
  • 最专业的手机网站制作推广计划方案模板
  • 蓝冠在线网站建设产品推广找哪家公司
  • 网络绿化网站建设哪家权威关键词排名哪里查
  • 做仿站如何修改网站管理权限中国国家培训网官网查询
  • 民宿网站开发dfd图省好多会员app
  • wordpress页面调用子页面内容seo网络推广企业
  • 模板网站下载上google必须翻墙吗
  • 电子商务网站建设与维护试卷有什么可以做推广的软件
  • 怎么网站是谁做的抖音关键词搜索指数
  • apache发布多个网站网站百度推广
  • wordpress验证google站长拉新充场app推广平台
  • 网站建设齐齐哈尔优化大师win7官方免费下载
  • 全国今日新增疫情最新情况西安网站seo技术厂家
  • 合肥网站开发怎么发帖子做推广
  • 深圳好点的网站建设公司日本积分榜最新排名
  • 做网站必须要公网ip郑州seo顾问阿亮
  • 企业网站建设的经费预算seo排名工具给您好的建议下载官网
  • 专业制作网站用哪些软件爱上链外链购买平台
  • 成都疫情严重吗南宁百度seo公司