原型链、构造函数、箭头函数、se6数组去重
2024-08-31 02:00:44
原型链
例子如下:
var arr = [1, 2, 3];
其原型链为:arr ----> Array.prototype ----> Object.prototype ----> null
同理我们创建一个函数也是:
function foo() {
return 0;
}
其原型链为:foo ----> Function.prototype ----> Object.prototype ----> null
由于Function.prototype
定义了apply()
等方法,因此,所有函数都可以调用apply()
方法。
很容易想到,如果原型链很长,那么访问一个对象的属性就会因为花更多的时间查找而变得更慢,因此要注意不要把原型链搞得太长。
构造函数
构造函数如果不写new
,这就是一个普通函数,它返回undefined
。但是,如果写了new
,它就变成了一个构造函数,它绑定的this
指向新创建的对象,并默认返回this。
也就是说,不需要在最后写return this;
。
用new Student()
创建的对象还从原型上获得了一个constructor
属性,它指向函数Student
本身。
箭头函数
x => x * x
上面的箭头函数相当于:
function (x) {
return x * x;
}
se6数组去重
function dedupe(array) {
return Array.from(new Set(array));
}
console.log(dedupe([1, 1, 2, 3])) //[1,2,3]
Array.form通过字符串创建一个数组
最新文章
- 【原创】解决jquery在ie中不能解析字符串类型xml结构的xml字符串的问题
- 无忧之道:Docker中容器的备份、恢复和迁移
- WCF服务寄宿应用程序
- 【jmeter】搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
- php下intval()和(int)转换有哪些区别
- @RequestBody 的正确使用办法
- Web应用的组件化(二)
- 两个示例介绍JavaScript的闭包
- 高质量JavaScript代码书写基本要点学习
- 高德JAVA笔试题
- mysql 优化方法
- DAY19、日常模块
- 学习bootstrap3
- h5小功能_classList和自定义属性data
- 在powerDesigner中通过SQL生成pdm
- A^B mod C (快速幂+快速乘+取模)题解
- word-wrap与break-word属性的区别
- Java 高效并发之volatile关键字解析
- 使用GAN 进行异常检测——anoGAN,TODO,待用于安全分析实验
- 安卓教程:提取APK程序里图片资源的方法