
js
文章平均质量分 50
盼一族
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JS之迭代器 Iterator
Symbol.iterator为每一个对象定义了默认的迭代器。该迭代器可以被 for...of 循环使用。ES6 规定,默认的 Iterator 接口部署在数据结构的 Symbol.iterator属性,或者说,一个数据结构只要具有Symbol.iterator属性,就可以认为是“可遍历的”(iterable)。Symbol.iterator 属性本身是一个函数,就是当前数据结构默认的遍历器生成函数。class RangeIterator { constructor(start, stop) {原创 2021-09-07 16:49:20 · 507 阅读 · 0 评论 -
前端跨域解决方案总结
跨域解决方案1、 通过 jsonp 跨域 ⭐2、 document.domain + iframe跨域3、 location.hash + iframe4、 window.name + iframe跨域5、 postMessage跨域 ⭐6、 跨域资源共享(CORS)7、 nginx代理跨域 ⭐8、 nodejs中间件代理跨域 ⭐9、 WebSocket协议跨域一、通过 jsonp 跨域通常为了减轻web服务器的负载,我们把js、css,img等静态资源分离到另一台独立域名的服务器上原创 2021-08-11 10:26:06 · 130 阅读 · 0 评论 -
JavaScript 自定义事件createEvent、initEvent、dispatchEvent
通常情况下,我们触发事件都是在交互中触发的事件,例如点击按钮(click)、提交表单(submit)等。但是有的情况下,事件触发只能由程序来完成,例如ajax框架的一些自定义事件。基本上dispatchEvent()方法用于触发自定义事件,自定义事件使用createEvent()创建事件对象,使用initEvent()初始化事件对象。让我们照着我写的一个例子去了解一下自定义事件用到的这三个方法吧: <script type="text/javascript"> /*原创 2021-08-03 16:31:22 · 1392 阅读 · 0 评论 -
JS运行机制 及 Vue 2.× nextTick实现原理
一、事件循环机制JS 是单线程,是基于事件循环。二、nextTick源码如下:const callbacks = []let pending = falsefunction flushCallbacks () { pending = false const copies = callbacks.slice(0) rf.length = 0 for (let i = 0; i < copies.length; i++) { copies[i]() }}if原创 2021-07-27 10:36:02 · 210 阅读 · 0 评论 -
使用JS实现二叉树相关算法
1. 如何编译一个二叉树思路: 创建一个队列,通过队列的进出实现对二叉树所有节点的遍历实现代码如下:function traverseNode(q){ var queue = [] queue.push(q) while(queue.length != 0){ var node = queue.pop() console.log('value ==========> ', node.val) if(node.left) queue.push(node.left) if(no原创 2021-07-13 16:29:45 · 437 阅读 · 0 评论 -
Object对象Configurable,Enumerable,Writable含义解读
1. configurable 当且仅当该属性的 configurable 键值为 true 时,该属性的描述符才能够被改变,同时该属性也能从对应的对象上被删除。 默认为 false。2. Enumerable 当且仅当该属性的 enumerable 键值为 true 时,该属性才会出现在对象的枚举属性中。 默认为 false。3. Writable 当且仅当该属性的 writable 键值为 true 时,属性的值value才能被赋值运算符改变。 默认为 false。...原创 2021-05-28 10:47:12 · 809 阅读 · 0 评论 -
使用原生JS 实现 Promise基本功能
function Promise(fn){ this.value = null this.state = 'PENDING' this.deffered = [] fn.call(this, this.resolve.bind(this), this.reject.bind(this))}Promise.prototype = { constructor: Promise, then: function(onfulfilled, onrejected){ var obj原创 2021-05-27 19:52:27 · 218 阅读 · 0 评论