随笔分类 - js
1
摘要:1、操作对象:ImageData 对象,其实是canvas的像素点集合 2、主要操作: var obj=ctx.getImageData(0,0,100,100); ctx.putImageData(obj,110,0) 3、操作图片要放在站点才能正常操作,可以是本地站点可以是外部站点 4、属性有三
阅读全文
摘要:演变历史 早期(全局函数模式) Global 被污染,很容易命名冲突function foo(){}function bar(){} 1 2 中期(命名空间模式) 本质是对象,可以被操作修改,不安全var DO = { foo: function () { }, bar: function () {
阅读全文
摘要:基本类型和引用类型 js中的变量虽然不区分类型,但是实际上Ecmascript包含两种类型,基本类型和引用类型. 基本类型有5种:Undefined,Null,Boolean,Number,String,基本类型是按值访问的,因为可以操作保存在变量中的实际的值。 引用类型的值是保存在内存中的对象。与
阅读全文
摘要:(function() { var urlToObject = function(url) { var urlObject = {}; if (/\?/.test(url)) { var urlString = url.substring(url.indexOf("?")+1); var urlAr
阅读全文
摘要:函数式编程 百科定义: 函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。 个人理解就是我们的编程是以函数作为单元来处理各个业务逻辑,函数既可以当做参数传来传去,也可以
阅读全文
摘要:日常开发过程中,滚动事件做复杂计算频繁调用回调函数很可能会造成页面的卡顿,这时候我们更希望把多次计算合并成一次,只操作一个精确点,JS把这种方式称为debounce(防抖)和throttle(节流) 函数防抖 当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定时间到来之
阅读全文
摘要:一、闭包 由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,闭包就是能够读取其他函数内部变量的函数。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。 比如下面的代码: function f1() { var n = 999; function f2() { co
阅读全文
摘要:前言 作为ES6处理异步操作的新规范,Promise一经出现就广受欢迎。面试中也是如此,当然此时对前端的要求就不仅仅局限会用这个阶段了。下面就一起看下Promise相关的内容。 Promise用法及实现 在开始之前,还是简单回顾下Promise是什么以及怎么用,直接上来谈实现有点空中花园的感觉。(下
阅读全文
摘要:javaScript事件的三个阶段:捕获阶段 目标阶段 冒泡阶段 捕获阶段 概念: 事件从根节点流向目标节点,途中流经各个DOM节点,在各个节点上触发捕获事件,直到达到目标节点。 目标阶段 概念: 事件到达目标节点时,就到了目标阶段,事件在目标节点上被触发 冒泡阶段 概念: 事件在目标节点上触发后,
阅读全文
摘要:Generator 函数 Generator函数是将函数分步骤阻塞 ,只有主动调用next()才能进行下一步。 dva 中异步处理用的是 Generator async 函数 简单的说async函数就相当于自执行的Generator函数,相当于自带一个状态机,在 await 的部分等待返回, 返回后
阅读全文
摘要:1.charAt 返回指定索引出的字符 var str='abcd'; var a=str.charAt(0); console.log(a); //'a' console.log(str); //'abcd'2.charCodeAt 返回指定索引出的unicode字符 str.charCodeAt
阅读全文
摘要:Object.assign() 通过复制一个或多个对象来创建一个新的对象。 Object.create() 使用指定的原型对象和属性创建一个新对象。 Object.defineProperty() 给对象添加一个属性并指定该属性的配置。 Object.defineProperties() 给对象添加
阅读全文
摘要:创建一个数组: ? 1 2 3 4 5 6 7 8 // 字面量方式: // 这个方法也是我们最常用的,在初始化数组的时候 相当方便 var a = [3, 11, 8]; // [3,11,8]; // 构造器: // 实际上 new Array Array,加不加new 一点影响都没有。 var
阅读全文
摘要:第 1 题:(滴滴、饿了么)写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么? 1. 更准确因为带key就不是就地复用了,在sameNode函数 a.key b.key对比中可以避免就地复用的情况。所以会更加准确。 2. 更快利用key的唯一性生成map对象来获取对应节
阅读全文
摘要:JS篇 2.什么是函数柯里化? 答:是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。把接受多个参数的函数转换成接受一个单一参数的函数 // 普通方法 var add = function(x, y) { return x
阅读全文
摘要:$(document).ready比window.onload先执行。window.onload只执行一次。 $(document).ready和window.onload都是在都是在页面加载完执行的函数,大多数情况下差别不大,但也是有区别的。 $(document).ready:是DOM结构绘制完
阅读全文
摘要:axios 是一个基于 Promise 的http请求库,可以用在浏览器和node.js中,目前在github上有 42K 的star数 备注: 每一小节都会从两个方面介绍:如何使用 -> 源码分析 [工具方法简单介绍]一节可先跳过,后面用到了再过来查看 axios最核心的技术点是如何拦截请求响应并
阅读全文
摘要:vue async/await同步 案例 1.async/await场景 这是一个用同步的思维来解决异步问题的方案,当前端接口调用需要等到接口返回值以后渲染页面时。 2.名词解释 >async async的用法,它作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思,
阅读全文
摘要:1.代码约定 1.1可读性 代码的格式化 使用若干个空格来进行缩进,因为制表符在不同编辑器种的显示效果不同 注释函数和方法 注明参数,返回值,前提假设.... 大段代码 复杂的算法 说明算法逻辑,方便别人查看,也方便自己查阅Hack 说明浏览器的差异,防止别人修改时没考虑到误删... 1.2 变量和
阅读全文
1