随笔分类 - Javascript 笔记
摘要:javascript 使用fetch进行跨域请求时默认是不带cookie的,所以会造成 session失效。 会报错: A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credent
阅读全文
摘要:判断一个变量是否申明 if (typeof v "undefined") { // ... } 判断一个变量是否是函数 function f() {} typeof f // "function" 区别一个变量是数组还是对象 var o = {}; var a = []; o instanceof
阅读全文
摘要:__proto__ 用来获取和设置对象原型,但它是非标准的。__proto__前后的双下划线,说明它本质上是一个内部属性,而不是一个正式的对外的API,只是由于浏览器广泛支持,才被加入了ES6。标准明确规定,只有浏览器必须部署这个属性,其他运行环境不一定需要部署,而且新的代码最好认为这个属性是不存在
阅读全文
摘要:Singleton模式指的是调用一个类,任何时候返回的都是同一个实例。 对于Node来说,模块文件可以看成是一个类。怎么保证每次执行这个模块文件,返回的都是同一个实例呢? 很容易想到,可以把实例放到顶层对象global。 然后,加载上面的mod.js。 上面代码中,变量a任何时候加载的都是A的同一个
阅读全文
摘要:一:将私有方法移出模块,因为模块内部的所有方法都是对外可见的。 foo是公有方法,内部调用了bar.call(this, baz)。这使得bar实际上成为了当前模块的私有方法。 二:利用Symbol值的唯一性,将私有方法的名字命名为一个Symbol值。 参考链接:http://es6.ruanyif
阅读全文
摘要:运用 Set结构不会添加重复的值 和...解构 使用 Array.from函数
阅读全文
摘要:ES6一共有5种方法可以遍历对象的属性。 (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)。 (2)Object.keys(obj) Object.keys返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)。 (3)O
阅读全文
摘要:上面代码将原始对象拷贝到一个空对象,就得到了原始对象的克隆。 不过,采用这种方法克隆,只能克隆原始对象自身的值,不能克隆它继承的值。如果想要保持继承链,可以采用下面的代码。 原文参考:http://es6.ruanyifeng.com/#docs/object
阅读全文
摘要:ES6提供三个新的方法——entries(),keys()和values()——用于遍历数组。它们都返回一个遍历器对象(详见《Iterator》一章),可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。 f
阅读全文
摘要:数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。 数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件
阅读全文
摘要:传统上,JavaScript只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法。 includes():返回布尔值,表示是否找到了参数字符串。 startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。 endsWith():返回布尔值,
阅读全文
摘要:test.php 中使用$_FILES 来获取文件信息 原文链接:http://javascript.ruanyifeng.com/bom/ajax.html#toc21
阅读全文
摘要:当任何元素生成都会触发回调函数check
阅读全文
摘要:CSS动画有以下三个事件。 animationstart事件:动画开始时触发。 animationend事件:动画结束时触发。 animationiteration事件:开始新一轮动画循环时触发。如果animation-iteration-count属性等于1,该事件不触发,即只播放一轮的CSS动画
阅读全文
摘要:window.matchMedia方法返回的MediaQueryList对象有两个方法,用来监听事件:addListener方法和removeListener方法。如果mediaQuery查询结果发生变化,就调用指定的回调函数。 原文链接:http://javascript.ruanyifeng.c
阅读全文
摘要:dragover事件:拖拉到当前节点上方时,在当前节点上持续触发,该事件的target属性是当前节点。该事件与dragenter事件基本类似,默认会重置当前的拖拉事件的效果(DataTransfer对象的dropEffect属性)为none,即不允许放下被拖拉的节点,所以如果允许在当前节点drop数
阅读全文
摘要:正常情况下,JavaScript的任务是同步执行的,即执行完前一个任务,然后执行后一个任务。只有遇到异步任务的情况下,执行顺序才会改变。 这时,需要区分两种任务:正常任务(task)与微任务(microtask)。它们的区别在于,“正常任务”在下一轮Event Loop执行,“微任务”在本轮Even
阅读全文
摘要:1.slice方法 2 . 扩展运算符(...) 扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署这个接口,就无法转换。 3.Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)
阅读全文

浙公网安备 33010602011771号