ICode9

精准搜索请尝试: 精确搜索
  • bind,call,apply2022-03-02 11:02:08

    共同点: 功能角度:三者都能改变 this 指向,且第一个传递的参数都是 this 指向的对象。 传参角度:三者都采用的后续传参的形式。 不同点: 传参方面: call 的传参是单个传递(序列),而 apply 后续传递的参 数是数组形式。而 bind 与call相同。 执行方面: call 和 apply 函数的执行是直接

  • js import的使用2022-03-02 10:33:02

    是否是默认导出 默认导出 不加{} 不是默认导出加{} test.js export default function fn() { console.log(“fn”); } export function fn2() { console.log(“fn2”); } export function fn3() { console.log(“fn3”); } index.js import fn from “./test.js”; import {

  • ES6箭头函数声明特点2022-03-01 15:34:36

    ES6 允许使用 箭头 (=>)定义函数 声明一个函数 let fn() =function (){ } let fn=(a,b)=>{ return a+b; } //调用函数 let result =fn(1,2); console.log(result); 控制台输出     箭头函数声明特性: 1.this是静态的,this始终指向函数声明时所在作用域下的this的值 演示:

  • 观察者 与 发布订阅模式2022-02-28 22:02:57

    观察者模式 分为观察者与目标,观察者 -> 订阅目标,目标 -> 触发事件,目标里维护了一套观察者列表。观察者与目标之间形成了松耦合。 // 观察者 class Observer { constructor() {} update() {} } // 观察者列表 class ObserverList { constructor(list) { this.list = lis

  • this指向问题2022-02-28 15:34:10

    一、函数调用方式决定了this指向 1、普通函数调用,this指向window(非严格模式下,严格模式下,指向undefined) function fn() { console.log(this); // window } fn(); // window.fn(),此处默认省略window 2、构造函数调用,此时this指向实例对象 function Pe

  • Array.map精简版源码【js编程题】2022-02-27 20:58:30

    Array.map精简版源码 基本思路 函数中的 this 指向调用这个 api 的数组创建一个数组 arr 存储原函数的值创建一个空数组,存放 fn 处理完的数据(fn处理数据的逻辑是开发者写的)遍历原数组,把原数组中的每一项都通过fn处理,并存贮在空数组中返回处理后的数据 代码实现 Array.prototy

  • 手写防抖节流函数2022-02-27 20:00:09

    function deBounce(fn, delay) { let timer = null; //这里巧妙地运用了闭包的特性,使得timer不仅不会被销毁,并且避免了每次都初始化一遍 return function (e) { if (timer) { clearTimeout(timer); //若之前的定时器还在,则清空之前的

  • 享元 与 桥接2022-02-27 19:00:11

    享元 思想:抽出不同的部分。 // 源代码 function a(paramsm, fn) { let arr1 = []; let arr2 = []; if (params) { arr1.forEach(fn); } else { arr2.forEach(fn); } } // 享元模式 function a(paramsm, fn) { let arr1 = []; let arr2 = []; let target

  • 解决linux的驱动用insmod 方法测试可以,但静态编译到内核不能正确使用的问题2022-02-26 18:34:32

    在写wk2312的驱动,刚开始用IMX8MM的硬件SPI进行SPI转串口的驱动。前面被CS引脚困住了一周,无奈只能用软件模拟使用。现在又遇到一个问题,在测试的时候用insmod的方法是可以正使看到sttyWK0与sttyWK1的,但放到内核里面进行编译,尝试静态加载这个SPI转串口驱动,结果,CS脚死活申请不了资源。

  • 总结下最近看的一篇有关JS垃圾回收的内容2022-02-25 14:04:18

    这里主要讲堆的数据回收,先上图 除了图上内容还有一点就是不管什么类型的垃圾回收器,都是差不多的处理流程: 1.扫描标记活动对象与非活动对象 2.非活动对象回收 3.整理内存碎片 例如调用fn会创建一个arr数组,并return arr,回收器会标记为活动对象, 当fn()执行完毕获得返回结果后,会标记

  • 防抖处理2022-02-24 16:03:36

    在utils/index.js 文件中 // 防抖 立即执行 function debounce(fn, arg) { // delay = delay || 1000; let delay = 1000; let timeout; return function() { let context = this; if (timeout) clearTimeout(timeout); let callNow = !timeout; timeo

  • 浅谈JS防抖和节流2022-02-24 09:33:14

    防抖和节流严格算起来属于性能优化的知识,但实际上遇到的频率相当高,处理不当或者放任不管就容易引起浏览器卡死,所以还是有必要早点掌握的。 从滚动条监听的例子说起    先说一个常见的功能,很多网站会提供这么一个按钮:用于返回顶部。    这个按钮只会在滚动到距离顶部一定位置之

  • JS 变量提升, 函数提升2022-02-23 23:00:45

    console.log(a) var a; console.log(a) a = 10 console.log(a) function a() { let c = 1; } console.log(a) //相当于: function a() { let c = 1; } var a; console.log(a) console.log(a) a = 10 console.log(a) console.log(a

  • 009-Golang1.17源码分析之goroutine2022-02-22 19:03:51

    Golang1.17源码分析之goroutine-009 Golang1.17 学习笔记009 包位置:runtime/runtime2.go 全局变量 g0 主协程、m0 工作线程 P 里面只是有个本地 runq,全局的 runq 存储在 sched 中 获取任务顺序,先从 m 自身 p 中的 runq 获取,没有就去全局 sched 中获取,没有再去其他 q 中拿一

  • 防抖 与 节流2022-02-21 20:00:45

    防抖 高频操作,最后一次生效。 function debounce(fn) { let timer = null; return (...args) => { clearTimeout(timer); setTimeout(() => { fn.applay(this, args); }, 500); }; } 节流 高频操作,每隔一段时间生效。 function throttle(fn) { let tim

  • 函数柯里化2022-02-21 13:01:04

    定义 将接收多个参数的函数转换成接收单一参数的函数,并且返回一个接收余下的参数的新函数。 应用场景 参数重复 // 柯里化 前 function validate(rule, value) { console.log('rule :>> ', rule); console.log('value :>> ', value); } validate(/\d/, 1); validate(/\d/, '

  • js手写filter()函数(含原理和步骤解析)2022-02-20 14:06:05

    定义和用法 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。 注意: filter() 不会对空数组进行检测。 注意: filter() 不会改变原始数组。 语法 array.filter(function(currentValue,index,arr), thisValue) 注意:function参数必选,thisVa

  • EXCEL如何把同一个目录下多个工作薄合并到一个工作薄2022-02-19 10:04:48

    【引言】 有的时候我们需要把某个目录下多个工作薄文件合并到一个文件,比如:一个小商店每个月都有一个以月份为名称的结算表,到了年底,可能需要把它们合成一个以年度为名称的工作薄,一是精简文件,二是方便管理,如何实现?(以下方法均针对需要合并的工作薄中都只有一个工作表) 实现方法一 如

  • 大前端JS篇之节流和防抖2022-02-15 23:32:41

    函数节流:高频事件触发后,在n秒内事件只触发一次,节流函数可以稀释函数的执行频率,应用场景:scroll,touchmove function throttle(fn,delay){ let can = true let func = () => { if(!can) return can = false setTimeout(() => { fn.app

  • Rust语言——所有权2022-02-09 15:30:45

    Stack vs Heap(栈内存 vs 堆内存) Stack(后进先出,LIFO) Stack上的数据必须拥有已知的固定的大小 大小未知的数据或运行时大小可能发生变化的数据必须存放在heap上 String类型 //创建String类型的值 使用from函数 let s = String::from("hello"); 这类字符串可以被修改 fn main()

  • this指向问题探究2022-02-09 15:03:54

    今天看到了一个关于this指向的面试题,在这里记录下,题如下 1 var length = 10 2 function fn(){ 3 alert(this.length) 4 } 5 var obj = { 6 length: 5, 7 method: function(fn) { 8 fn() 9 arguments[0]() 10 } 11 } 12 obj.method(f

  • 防抖、节流2022-02-08 11:05:54

    防抖和节流相似,都是为了减小服务器的压力。 防抖:比如现在有个输入框,需求用户每次输入能够实时查询相关数据(模糊查询),这时候就需要做个防抖处理,也就是我们尽可能等用户输入完之后再去查询,可以设定个时间,输入完1.5秒或两秒后再去查询(如果在设定的时间又触发事件,会把上次的清除掉,重

  • 每日进步一点点:实现python的函数重载【打破相同函数名会被覆盖】2022-02-06 20:32:56

    转载自:https://mp.weixin.qq.com/s/SdqbKEDPhSYXrQZkXH03Gg 函数重载指的是有多个同名的函数,但是它们的签名或实现却不同。当调用一个重载函数 fn 时,程序会检验传递给函数的实参/形参,并据此而调用相应的实现。 int area(int length, int breadth) { return length * breadth;

  • 蓝桥杯-- 基础练习 Fibonacci数列 -- python2022-02-06 11:36:47

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整数n。 输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。 样例输入 10 样例输出 55 样例输入 22 样例输出 7704 数据

  • Python获取Get传值(CGI)2022-02-05 19:33:33

    首先配置Apache服务器可处理Python程序,详见:https://www.cnblogs.com/tywusy/p/15862481.html HTML文件:index.html <!DOCTYPE html><html><head><meta charset="utf-8"><title>try it</title></head><body><form action="

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有