前端开发

ES6可迭代对象有哪些特点

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

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

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

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

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

new的实现原理是什么?

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

JSONP的原理是什么?

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

Array.prototype.sort()字母排序

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

JavaScript设计模式之装饰者模式

2019-06-28184次阅读javascript
装饰者模式的定义:装饰者(decorator)模式能够在不改变对象自身的基础上,在程序运行期间给对像动态的添加职责。与继承相比,装饰者是一种更轻便灵活的做法。
前端开发

IOS下input获取焦点,弹出软键盘导致页面内容被顶上去

2019-06-26243次阅读javascriptIOS
IOS下input获取焦点,弹出软键盘导致页面回缩问题,内容被顶上去。不妨试试input失去焦点或者点击确定后通过javascript平滑滚动Element.scrollIntoView()让你的内容滚动到浏览器可视区域。
前端开发

移动端横竖屏最佳实践

2019-06-26248次阅读css3javascript
在移动端经常会遇到根据横竖屏以不同的样式来适配或提醒用户切换为竖屏以保持良好的用户体验需求,这里结合JavaScript&CSS检测手机横竖屏一文做一下总结
前端开发

PUT和PATCH都是给服务器发送修改资源,有什么区别?

2019-06-20263次阅读javascripthttps
PUT和PATCH都是更新资源,而PATCH用来对已知资源进行局部更新。