前端开发

CSS选择器链或组中出现无效的伪选择器会怎样

2019-07-12108次阅读css
如果选择器链或组中有无效的伪元素或伪类,则整个选择器列表无效。如果伪元素(但不是伪类)具有-webkit-前缀,那么对于Firefox 63,Blink、Webkit和Gecko浏览器认为它是有效的,而不会使选择器列表无效。
前端开发

如何实现JS数组去重

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

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

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

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

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

javascript柯里化函数实现

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

ES6可迭代对象有哪些特点

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

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

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

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

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

new的实现原理是什么?

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

JSONP的原理是什么?

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