随笔分类 - Web - javaScript
摘要:这里给大家推荐个js实现的linq,项目地址:mihaifm/linq 1. 遍历与展开 traverseBreadthFirst(广度优先遍历树结构) const tree = { value: 1, children: [ { value: 2, children: [{ value: 4 }]
阅读全文
摘要:安装 1 先安装 node.js 2 安装淘宝cnpm 第一种: ~~直接安装cnpm 安装淘宝提供的cnpm,并更改服务器地址为淘宝的国内地址, 命令:npm install -g cnpm --registry=https://registry.npm.taobao.org,以后安装直接采用cp
阅读全文
摘要://反斜杠转移写在最前面,这样就不会影响后面的转换 searchSegment = searchSegment.replace(/\\/g, "\\\\"); searchSegment = searchSegment.replace(/\+/g, "\\+").replace(/\-/g, "\\
阅读全文
摘要:1 靠正则来分割使结果中包含分隔块 如果 separator 包含捕获括号(capturing parentheses),则其匹配结果将会包含在返回的数组中。 var myString = "Hello 1 word. Sentence number 2."; var splits = myStri
阅读全文
摘要:1 data-main 数据主入口点 data-main属性是require.js将检查以开始加载脚本的特殊属性: <!--when require.js loads it will inject another script tag (with async attribute) for scrip
阅读全文
摘要:示例: on(div, "compositionend", function (e) { if (this$1.composing) { if (e.data != this$1.composing.data) { this$1.readFromDOMSoon() } this$1.composin
阅读全文
摘要:在写新的模式(mode)之前,还是先来概括一下CodeMirror的设计思路。CodeMirror分为三部分:核心,模式,扩展。核心库对外开放了很多接口,而这些接口就是实现新模式或者新扩展的基石。 在使用CodeMirror的过程中,如果我们需要的mode不在CodeMirror自带的Modes里面
阅读全文
摘要:概念和用法 必须接受一个参数——资源的路径。无论请求成功与否,它都返回一个 Promise 对象,resolve 对应请求的 " " 。你也可以传一个可选的第二个参数 (参见 " " ?构造函数创建一个Request 对象,但是你可能会遇到一个 Request 对象作为其它 API 的操作被返回,比
阅读全文
摘要:# 基础 Promise 对象用于表示一个异步操作的最终完成 (或失败), 及其结果值.  ```javascript
阅读全文
摘要:// 1.Object.assign(target, ...sources) // 通过复制一个或多个对象来创建一个新的对象。 // 描述:如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的源对象的属性。 { //1.1 复制一个对象 { const
阅读全文
摘要:Map 含义和基本用法 它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Ob
阅读全文
摘要:基本概念 Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个 ,封装了多个内部状态。 执行 Generator 函数会返回一个遍历器对象,也就是说,Generator 函数除了状态机,还是一个遍历器对象生成函数。返回的遍历器对象,可以依次遍历 Gene
阅读全文
摘要:```javascript /** * es5:class 对象 */ function Car(option) { this.title = option.title; this.lunz = option.lunz; } Car.prototype.drive = function () { return this.title + " is drive.."; } const car = ne
阅读全文
摘要:# 解构对象 ```javascript /** * 解构:快捷,方便 * * 对象解构 */ { var expense = { type: "es6", amount: "45" }; //1.ES5 // var type = expense.type; // var amount = exp
阅读全文
摘要:扩展运算符 扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算(函数),将一个数组转为用逗号分隔的参数序列。 rest: 变量将多余的参数放入数组中。 spread(扩展):rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。 总结:二者为逆操作。 该运算符主要用于
阅读全文
摘要:函数参数默认值 ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 面代码检查函数 的参数y有没有赋值,如果没有,则指定默认值为 。这种写法的 缺点在于,如果参数y赋值了,但是对应的布尔值为 ,则该赋值不起作用 。就像上面代码的最后一行,参数 等于空字符,结果被改为默认值。 为了避免
阅读全文
摘要:``` /** * 对象的扩展 * * 增强对象字面量 * * 解决问题:缩减代码 */ { /** * 1.属性简表示法 * 变量foo直接写在大括号里面。这时,属性名就是变量名, 属性值就是变量值 */ const foo = 'bar'; const baz = { foo }; // baz // {foo: "bar"} // 等同于 // const baz = { foo: foo
阅读全文
摘要:``` / 1.箭头函数语法 / const double1 = function (number) { return number 10; } const double2 = (number) = { return number 20; } const double3 = (number) = n
阅读全文
摘要:模板字面量的最简单语法,是使用反引号( `)(Tab上面那个键)来包裹普通字符串,而不是用双引号或单引号。 <!DOCTYPE html Document //变量 let name = "Nicholas"; //方法 function makeUpperCase(word) { return w
阅读全文
摘要:如果需要开发新产品(这里 芬达) 调用的时候:
阅读全文