JavaScript
ypeusksk
开始慢慢搬运有道云的笔记到博客
展开
-
函数防抖与函数节流
函数防抖(debounce):限制函数重复调用,只执行最后的一次。某个函数存在重复执行的可能(比如dom事件处理函数)。函数在调用时使用延时执行(setTimeout)然后在后续重复调用的时候,都会取消上一次的执行,之后重新定时执行。代码:<button id="btn">btn</button>let debounceTimeoutfunction deb原创 2019-01-02 11:24:31 · 155 阅读 · 0 评论 -
element-ui 使用第三方icon
参考:https://blog.csdn.net/qq_32113629/article/details/79740949https://www.jianshu.com/p/59dd28f0b9c9转载 2019-03-06 14:39:51 · 840 阅读 · 0 评论 -
移动端webApp兼容问题解决
https://blog.csdn.net/quanyuejie/article/details/53422081转载 2019-04-30 09:34:11 · 152 阅读 · 0 评论 -
可用的工具类方法长期收集
把一些写的有意思的工具方法收集起来,供以后查看阅读帮助提升。对函数的执行结果进行缓存function cached(fn) { const cache = Object.create(null) return function cachedFn(str) { const hit = cache[str] return hit || (cache[str] = fn(st...原创 2019-04-26 15:22:21 · 156 阅读 · 0 评论 -
垃圾回收机制与内存泄漏
内存泄漏指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。垃圾回收机制找出不再使用的变量,然后释放掉其占用的内存,但是这个过程不是实时的,因为其开销比较大,所以垃圾回收系统(GC)会按照固定的时间间隔,周期性的执行。dom引用造成的内存泄露 ...原创 2018-08-31 11:40:13 · 331 阅读 · 0 评论 -
原型链
Javascript的原型链可以理解为Java中的继承关系,一个类继承另一个类,另一个类如果没继承别的类,就会默认继承Object。Java中的这些关系是能够在代码中轻易看到的。而Javascript则没那么明显。Javascript主要通过prototype跟proto来实现原形链。prototype是函数的属性。proto是实例的属性,且对象的proto指向函数的prototype。f...原创 2019-04-03 16:39:22 · 176 阅读 · 0 评论 -
闭包
当函数A的返回值是函数B,函数B使用了函数A的内容,这就是闭包。闭包的主要应用场景是设计出不暴露的私有的变量和方法实例:function outer() { var y = 10; return function () { return ++y; }}var o = outer();o(); // 11o(); // 12以上实...原创 2019-04-04 14:39:52 · 160 阅读 · 0 评论 -
作用域跟变量函数提升
Javascript作用域分为全局作用域跟函数作用域在函数体内,局部变量的优先级要高于全局变量。如果在函数体内重新声明一个与局部变量重名的变量,局部变量就会覆盖全局变量的值。因为js原本并没有块级作用域,所以以下代码是正确的:if (true) { var v = 'test'}console.log(v) // test但如果使用es6的let关键字(声明块级作用...原创 2019-04-04 12:14:29 · 115 阅读 · 0 评论 -
js ascii码的转换
字符转数字var str = "a";var num = str.charCodeAt(0)数字转字符var num = 97;var str = String.fromCharCode(num)原创 2015-12-28 17:32:26 · 501 阅读 · 0 评论 -
基本包装类型
Number、Boolean、String 三种在基本数据类型操作时,比如:"abc".substr(0, 2)在执行这段代码时,实际上”abc”是一个基本数据类型,本身并没有方法存在。后台是做了一些包装的操作,上面的代码实际上是:var s = new String("abc")s.substr(0, 2)s = null原创 2019-01-02 14:54:13 · 916 阅读 · 0 评论 -
浅拷贝与深拷贝
实现深拷贝的方法一、如果对象内容符合json格式,可以使用直接转换成json,再转换回对象,就是一个新的对象。转json:let json = JSON.stringify(obj)let newObj = JSON.parse(json)二、如果对象内容有着复杂的自定义类型,则就要写一个递归函数遍历所有属性,根据属性类型来做相应的处理。比如Date类型就需要自己new一个新的...原创 2019-01-03 11:15:08 · 122 阅读 · 0 评论 -
js十进制间的转换
其他进制的数字转换为十进制需要使用parseInt()//将16进制的num转换为10进制,16进制的数前面加不加0x都行var num = "0x10";var decNum = parseInt(num, 16)//将8进制的num转换为10进制var num = "36";var decNum = parseInt(num, 8)十进制转换成别的进制需要使用toString()//将原创 2015-12-28 10:24:02 · 340 阅读 · 0 评论