随笔分类 - JS
从零开始 —— Canvas(一)
摘要:从零开始-Canvas 1、颜色、样式和阴影 属性 a、fillStyle(设置或返回用于填充绘画的颜色、渐变或模式) 语法:context.fillStyle = color(颜色值) | gradient(渐变对象,线性或者放射性) | pattern(填充绘图的pattern对象) ; 定义一
阅读全文
浏览器缓存机制
摘要:浏览器缓存机制 前言: 每当我们第二次打开同一个网页的时候, size部分的form memory cache即为从缓存中读取, 我们可以发现有很多内容都是直接从缓存中读取到的。 1、浏览器缓存的优缺点 优点: 加快页面打开速度 降低服务器压力 减少网络损耗 缺点: 缓存没有清理机制,这些缓存的文件
阅读全文
前端实现数组去重,如何高效快捷?
摘要:数组去重 1、双循环去重 双重for(或while)循环是比较笨拙的方法,它实现的原理很简单:先定义一个包含原始数组第一个元素的数组,然后遍历原始数组,将原始数组中的每个元素与新数组中的每个元素进行比对,如果不重复则添加到新数组中,最后返回新数组;因为它的时间复杂度是O(n^2),如果数组长度很大,
阅读全文
ES5和ES6那些你必须知道的事儿(三)
摘要:ES5和ES6那些你必须知道的事儿 ES6新增的东西 一、块级作用域:关键字let,常量const let与var的区别: a、不会进行变量声明提升 b、变量不允许被重复定义 c、变量不允许被删除 d、在for循环中可以保留i的值 e、循环的变量只能在当前块级作用域中使用 const和var的区别:
阅读全文
ES5和ES6那些你必须知道的事儿(二)
摘要:ES5和ES6那些你必须知道的事儿 ES5新增的东西 二、对象方法 1、Object.getPrototypeOf(object) 返回对象的原型 输出: 2、Object.create 用法:Object.create(prototype, descriptors) prototype 必需。 要
阅读全文
ES5和ES6那些你必须知道的事儿(一)
摘要:ES5和ES6那些你必须知道的事儿 ES5新增的东西 一、数组方法 1、forEach 用途:遍历,循环 对于空数组不会执行回调函数 2、map 用途:映射 map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原始数组元素顺序依次处理元素。 map()
阅读全文
call、apply、bind,你有多了解?
摘要:call、apply、bind 1、相同也不同 我们先从浅显的部分开始讲, 这三个方法都可以改变this的指向,都可以进行传参,第一个参数都是修改this的指向 call() 和 apply() 改变this指向后会立即执行函数 bind() 改变this指向后不会立即执行 call() 和 app
阅读全文
javascript的event loop事件循环
摘要:javascript的event loop事件循环 这是今天一个朋友发给我的一个面试题, 感觉还挺有意思的, 写个博客以供分享 先看看这个面试题目: 观察下面的代码,写出输出结果 输出结果: “0” “2” 4 3 “1” 今天主要是分析为什么输出结果是这样的?这就和 javascript 的执行机
阅读全文
Typescript中的装饰器原理
摘要:Typescript中的装饰器原理 1、小原理 因为react中的高阶组件本质上是个高阶函数的调用, 所以高阶组件的使用,我们既可以使用函数式方法调用,也可以使用装饰器。 也就是说,装饰器的本质就是一个高阶函数, 就是利用TypeScript的弱类型特性和装饰器特性,实现了一个加强版。 2、以一个例
阅读全文
柯里化---一道面试题引发的小研究
摘要:柯里化 1、什么是柯里化 javascript忍者中说:在一个函数中首先填充几个参数(然后再返回一个新函数)的技术称为柯里化(Currying)。 柯里化又称部分求值,字面意思就是不会立刻求值,而是到了需要的时候再去求值。 其含义是给函数分步传递参数,每次传递参数后部分应用参数, 并返回一个更具体的
阅读全文
重绘(Repaint)和回流(Reflow)
摘要:重绘(Repaint)和回流(Reflow) 1、回流和重绘只是渲染步骤的一小节,是怎么做到影响性能的? css 会影响 javascrip 执行时间导致 javascript 脚本变慢 2、什么是回流?什么是重绘? a、回流:布局或者几何属性需要改变就称为回流。 当render tree 的一部分
阅读全文
for-each、for-in和for-of的区别
摘要:for-each、for-in和for-of的区别 1、forEach()方法 用于调用数组的每个元素,并将元素传递给回调函数。 注意: forEach() 对于空数组是不会执行回调函数的。 常用写法: objArr.forEach( function (value) { console.log(v
阅读全文
浙公网安备 33010602011771号