
JavaScript
文章平均质量分 85
moekosu
2014年6月毕业,统招本科软件工程专业,三年Java,四年前端,有好机会可以联系,外包勿扰
展开
-
【JavaScript】关于js中performance性能监控
如图一,performance中会出现的属性字段:原创 2021-06-11 11:15:29 · 4033 阅读 · 1 评论 -
【JavaScript】执行上下文中this的绑定
【默认绑定】即为直接调用,函数调用无调用前缀,则this指向全局对象window(严格模式中指向undefined)【隐式绑定】如果函数调用,存在调用的对象,则this会隐式的绑定到这个对象上function f() { console.log(this.a);}var s = { a: 1, fs: f}s.fs(); // 输出1PS:如果将函数作为形参或者赋值给了其他参数,则调用的时候不会发生隐式绑定,而是算作直接调用,this指向全局对象原创 2020-10-08 02:46:01 · 236 阅读 · 0 评论 -
【JavaScript】事件委托
【原理】事件委托利用浏览器事件触发机制,即事件的捕获与事件的冒泡机制,前一篇文章我们写到浏览器的工作原理,其中事件的触发有两种情况,从window节点开始触发,一直到触发事件的元素上,从上到下,称为事件捕获,从元素触发,一直到最外的window节点,称为事件冒泡,经过W3C的共同标准,触发事件分为两个阶段,即先触发事件捕获,再触发事件冒泡,那我们绑定的事件是否会触发两次呢,在addeventlistener事件中,存在第三个布尔值参数,默认为false,则事件在冒泡阶段执行,设定为true则会在捕获阶段原创 2020-10-06 16:32:34 · 145 阅读 · 0 评论 -
【JavaScript】es6箭头函数
ES6箭头函数相比普通函数写法,有几个新特点:1. 没有prototype属性2. 无法使用arguments对象3. 无法成为构造方法4. this指向父作用域无法改变PS:class中最好不要用箭头函数,因为他的每一个实例都会独占一份内存空间【this的指向】var id = 0;var f = { id: 2, s1: function() { setTimeout(function(){原创 2020-10-06 12:06:18 · 228 阅读 · 1 评论 -
【JavaScript】执行上下文
【GO/AO编译过程】1. 先查看是否存在语法错误2. 预编译3. 解释一行执行一行【预编译过程】1. 创建GO/AO对象2. 将形参与变量声明存放到GO/AO对象中,值为undefined3. 将实参与形参统一4. 将函数声明存放到GO/AO对象中console.log(a);function a() { // 函数声明}var a = 1; // 变量声明// 结果会输出函数声明...原创 2020-10-05 10:56:54 · 149 阅读 · 0 评论 -
【JavaScript】JS优化:防抖与节流
【防抖】一般应用在计算页面滚动条距离,页面resize,输入框blur之类的场景,当用户操作时,一般会多次触发,造成过多的资源浪费,此时可以使用防抖let debounce = function (action, delay) { let timer = null; return function () { // 当用户再次触发方法的时候,清除重新计时 clearTimeout(timer); timer = setTimeout(原创 2020-09-24 19:11:31 · 128 阅读 · 0 评论 -
【JavaScript】JS中的堆栈
【个人理解】栈:1. 基础数据类型数据 2. 堆数据的指针堆:Object,Function,Array,RegExp类型【const指向】const修饰的变量,指向为一个固定的地址,假如是基础类型常量,则无法改变,假如是堆内对象,则地址无法改变(指向地址内的值可以改变)【typeof null为何是Object】根据typeof的源代码写,这是第一代js的错误,在几个低位类型位的校验中,没有显式的对null进行校验,使null进入了else方法,判断为object对象...原创 2020-09-15 18:45:15 · 291 阅读 · 0 评论 -
【JavaScript】自定义call函数
自定义JavaScript中Function.call函数// 自定义callFunction.prototype.ownerCall = function() { /** * 首先获取传入的参数,call方法传入多个参数,第一个参数是指向对象 * obj获取到指向对象,args是多个参数数组 */ let [obj, ...args] = [...arguments] /** * this这里指的是调用ownerCall方法的Fu.原创 2020-07-03 10:34:30 · 347 阅读 · 0 评论 -
【JavaScript】计算24点
华为算法题1:/*** 计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王:* 3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER* 本程序要求实现:输入4张牌,输出一个算式,算式的结果为24点。* 详细说明:* 1.运算只考虑加减乘除运算,没有阶乘等特殊运算符号,友情提醒,整数除...原创 2020-06-29 16:38:03 · 1264 阅读 · 0 评论