开飞机的老张https://kaifeiji.cc/icon.png写给未来的信2023-08-03T01:18:32.340Zhttps://kaifeiji.cc/kaifeijiHexo译:我为什么使用Map(和WeakMap)处理DOM节点https://kaifeiji.cc/post/why-i-like-using-maps-and-weakmaps-for-handling-dom-nodes/2023-07-28T07:02:47.000Z2023-08-03T01:18:32.340Z<p>原文:<a href="https://www.macarthur.me/posts/maps-for-dom-nodes">Why I Like Using Maps (and WeakMaps) for Handling DOM Nodes</a></p>
<p>在处理大量DOM节点时,Map(和WeakMap)是非常实用的工具,本文分析了具体原因。</p>介绍JavaScript中Symbolhttps://kaifeiji.cc/post/an-introduction-to-symbols-in-javascript/2023-07-27T08:59:15.000Z2023-08-03T01:09:10.308Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/symbol">An Introduction to Symbols in JavaScript</a></p>
<p>Symbol提供了一种在对象中创建隐藏属性的方式。</p>原生JavaScript获取URL参数https://kaifeiji.cc/post/get-query-string-values-in-vanilla-javascript/2023-07-27T08:47:58.000Z2023-08-03T01:08:55.750Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/query-string">Get Query String Values in Vanilla JavaScript</a></p>
<p>本文展示了如何用原生JavaScript解析URL参数。</p>字符串首字母大写https://kaifeiji.cc/post/capitalize-the-first-letter-of-a-string-in-javascript-1/2023-07-26T09:11:02.000Z2023-07-26T09:20:51.315Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/capitalize-first-letter">Capitalize the First Letter of a String in JavaScript</a></p>
<p>不用任何外部库,实现字符串首字母大写。</p>用forEach()遍历对象https://kaifeiji.cc/post/iterating-through-an-object-with-foreach/2023-07-26T08:56:42.000Z2023-07-26T09:20:51.221Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/foreach-object">Iterating Through an Object with <code>forEach()</code></a></p>
<p>通过Object.keys()、Object.values()和Object.entries(),可以用forEach遍历一个JavaScript对象。</p>JavaScript的立即调用函数表达式(IIFE)https://kaifeiji.cc/post/immediately-invoked-function-expressions-iife-in-javascript/2023-07-25T09:08:24.000Z2023-07-26T09:20:51.315Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/iife">Immediately Invoked Function Expressions (IIFE) in JavaScript</a></p>
<p>JavaScript的立即调用函数表达式(IIFE)是一种常用于变量闭包的设计模式。</p>JavaScript禁用按钮https://kaifeiji.cc/post/disable-a-button-in-javascript/2023-07-25T08:57:44.000Z2023-07-26T09:20:51.175Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/disable-button">Disable a Button in JavaScript</a></p>
<p>如何用原生JavaScript禁用一个按钮。</p>JavaScript的FormDatahttps://kaifeiji.cc/post/formdata-in-javascript/2023-07-25T08:48:54.000Z2023-07-26T09:20:51.315Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/formdata">FormData in JavaScript</a></p>
<p><code>FormData</code>类在JavaScript上传文件时非常有用。</p>JavaScript的Blobhttps://kaifeiji.cc/post/blobs-in-javascript/2023-07-25T08:37:41.000Z2023-07-26T09:20:51.315Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/blob">Blobs in JavaScript</a></p>
<p>Blob(二进制大型对象)是JavaScript中一种类似于文件的数据结构,相当于客户端的Buffer。</p>用FileReader读取本地文件https://kaifeiji.cc/post/read-local-files-in-javascript-with-filereader/2023-07-25T07:44:22.000Z2023-07-26T09:20:51.315Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/filereader">Read Local Files in JavaScript with FileReader</a></p>
<p>FileReader类可以从原生的文件input中读取文件。</p>JavaScript的Thenablehttps://kaifeiji.cc/post/thenables-in-javascript/2023-07-25T07:27:56.000Z2023-07-26T09:20:51.315Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/thenable">Thenables in JavaScript</a></p>
<p>Thenable是一种行为类似于Promise的对象,主要用于链式操作和async/await,但它并不是Promise。</p>JavaScript中Promise的rejecthttps://kaifeiji.cc/post/reject-a-promise-in-javascript/2023-07-25T07:02:43.000Z2023-07-26T09:20:51.315Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/promise-reject">Reject a Promise in JavaScript</a></p>
<p>在Promise中出现了错误,可以用reject将其标记为rejected状态。</p>JavaScript的Promise链https://kaifeiji.cc/post/javascript-promise-chaining/2023-07-24T06:38:44.000Z2023-07-26T09:20:51.315Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/promise-chaining">JavaScript Promise Chaining</a></p>
<p>Promise链式调用是一种很强大的模式,最大的好处是可以用一个<code>catch()</code>处理所有的错误。</p>用interact.js实现拖拽、缩放、吸附https://kaifeiji.cc/post/drag-and-drop-using-interact-js/2023-07-01T09:15:43.000Z2023-07-14T06:06:15.634Z<p>interact.js和大多数拖拽库相比有点不太一样:它提供了简单、灵活的API,对外暴露操作DOM元素所需的全部鼠标或触摸事件信息。但为了更自主的控制,<strong>它不会对DOM元素进行任何操作!</strong>你必须自己操作DOM,实现UI的响应——拖拽、绘制或者滚动页面等。</p>使用bluebird操作Promisehttps://kaifeiji.cc/post/useing-bluebird-promises/2023-03-03T01:46:49.000Z2023-06-12T01:14:07.903Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/bluebird">Using Bluebird Promises</a></p>
<p>blurbird是JavaScript一个流行的Promise库。</p>JavaScript创建Promisehttps://kaifeiji.cc/post/javascript-create-promise/2023-03-02T01:33:10.000Z2023-06-12T01:14:08.157Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/promise-create">JavaScript Create Promise</a></p>
<p>本文简述JavaScript创建Promise的几种方式。</p>JavaScript中Promise的catch函数https://kaifeiji.cc/post/the-promise-catch-function-in-javascript/2023-03-01T02:38:23.000Z2023-06-12T01:14:08.156Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/catch">The Promise <code>catch()</code> Function in JavaScript</a></p>
<p>Promise的catch函数是一个很方便的语法糖,用于处理Promise中的错误。</p>JavaScript比较数组https://kaifeiji.cc/post/compare-arrays-in-javascript/2023-02-28T14:55:51.000Z2023-06-12T01:14:08.158Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/compare-arrays">Compare Arrays in JavaScript</a></p>
<p>JavaScript比较两个数组的一些技巧。</p>JavaScript比较日期https://kaifeiji.cc/post/compare-dates-in-javascript/2023-02-27T07:02:24.000Z2023-06-12T01:14:08.158Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/compare-dates">Compare Dates in JavaScript</a></p>
<p>JavaScript比较日期不太容易,Date类型是对象,比较符按照引用而不是按值进行对比。本文简介如何用原生JavaScript比较日期。</p>JavaScript比较字符串https://kaifeiji.cc/post/compare-strings-in-javascript/2023-02-26T15:24:15.000Z2023-06-12T01:14:08.157Z<p>原文:<a href="https://masteringjs.io/tutorials/fundamentals/compare-strings">Compare Strings in JavaScript</a></p>
<p>JavaScript的比较运算符很容易比较字符串,另外还有<code>localeCompare()</code>可以用于排序。</p>