前端开发

如何实现JS数组去重

2019-07-12309次阅读javascript
利用ES6新增数据类型Set、indexOf、includes、reduce、Map
前端开发

ES5有几种方式可以实现继承?分别有哪些优缺点?

2019-07-11917次阅读javascript
ES5有6种方式可以实现继承,分别为:原型链继承、借用构造函数、组合继承(原型链 + 借用构造函数)、原型式继承、寄生式继承、寄生组合式继承
前端开发

如何让 (a == 1 && a == 2 && a == 3) 的值为true?

2019-07-10444次阅读javascript
利用隐式类型转换、利用数据劫持(Proxy/Object.defineProperty、数组的toString接口默认调用数组的join方法实现
前端开发

javascript柯里化函数实现

2019-07-10384次阅读javascript
函数柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
前端开发

ES6可迭代对象有哪些特点

2019-07-10490次阅读javascript
ES6规定,默认的`Iterator`接口部署在数据结构的`Symbol.iterator`属性,换个角度,也可以认为,一个数据结构只要具有`Symbol.iterator`属性(`Symbol.iterator`方法对应的是遍历器生成函数,返回的是一个遍历器对象),那么就可以其认为是可迭代的。
前端开发

javascript深拷贝和浅拷贝的区别是什么?实现一个javascript深拷贝

2019-07-09435次阅读javascript
深拷贝和浅拷贝是针对复杂数据类型来说的,浅拷贝只拷贝一层,而深拷贝是层层拷贝。
前端开发

如何正确判断js中this的指向?

2019-07-09437次阅读javascript
如果用一句话说明this的指向,那么即是: 谁调用它,this就指向谁。
前端开发

new的实现原理是什么?

2019-07-08452次阅读javascript
new的实现原理: 创建一个空对象,构造函数中的this指向这个空对象;这个新对象被执行 [[原型]] 连接;执行构造函数方法,属性和方法被添加到this引用的对象中; 如果构造函数中没有返回其它对象,那么返回this,即创建的这个的新对象,否则,返回构造函数中返回的对象。
前端开发

JSONP的原理是什么?

2019-07-08401次阅读javascript
尽管浏览器有同源策略,但是标签的src属性不会被同源策略所约束,可以获取任意服务器上的脚本并执行。jsonp通过插入标签的方式来实现跨域,参数只能通过url传入,仅能支持get请求。
前端开发

Array.prototype.sort()字母排序

2019-07-02403次阅读javascript
我们都知道Array.prototype.sort()对数字大小排序a-b是升序排序,b-a是降序排序。