![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
文章平均质量分 62
小菜菜xx
这个作者很懒,什么都没留下…
展开
-
JavaScript异步编程方案
JavaScript异步编程方案 非常推荐的一门课【拉钩教育-JavaScript核心原理精讲】地址下面有,如有侵权,类型删除 问题 同步编程和异步编程的区别在哪里? 回调地狱有哪些方法可以解决? 什么是同步 同步就是在执行某段代码时,在该代码没有得到返回结果之前,其它代码暂时是无法执行的,会等待前面的代码执行完再执行 什么是异步 异步就是当一段代码执行异步过程调用发出后,这段代码不会立刻返回结果。而是在异步调用发出后,一般通过回调函数处理这个调用之后拿到的结果。异步调用发出后,不会阻止后面代码的执行,原创 2021-04-29 00:24:19 · 92 阅读 · 0 评论 -
浅谈JavaScript中call与apply的模拟实现
浅谈JavaScript中call与apply的模拟实现 call call()方法是使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法 语法: function.call(thisArg, arg1, arg2, ...) thisArg可选,非严格模式下,当值为null或者undefined时指向window arg1… 参数列表 demo: var foo = { name: 'xcc' } function bar (age) { console.log(`转载 2021-04-27 01:23:26 · 73 阅读 · 0 评论 -
浅谈JavaScript闭包
闭包 什么是闭包 闭包其实就是一个可以访问其它函数内部变量的函数 从技术的角度讲,所有的JavaScript函数都是闭包:它们都是对象,它们都关联到作用域链 当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行 function foo() { var name = 'xcc' return function() { console.log(name) } } foo() var result = foo() result()原创 2021-04-26 00:53:46 · 208 阅读 · 0 评论 -
浅谈JavaScript作用域
JavaScript作用域 什么是作用域 JavaScriptt的作用域通俗的将,就是指变量能够被访问到的范围 作用域是用来确定在何处以及如何查找变量/标识符的规则 作用域就是查找变量的地方 作用域分类 全局作用域 全局作用域是挂载在window对象下的,在任何位置都可以访问到 直接被赋值的变量默认为全局变量,拥有全局作用域 函数test执行时打印了变量b,在函数内部没有找到变量b时,会到函数外层中查找,找到了就停止查找并且输出。这种通过访问函数外部变量的方式称为全局作用域 // 全局作用域 var原创 2021-04-25 23:55:05 · 73 阅读 · 0 评论 -
JavaScript事件捕获事件冒泡与事件委托
事件捕获事件冒泡与事件委托 事件捕获 事件捕获中,父级元素先触发,子集元素后触发 事件会从最外层开始,直到具体的元素,比如click的捕获过程document->html->body->div->p 事件冒泡 事件冒泡时,子元素先出发,父级元素后触发 元素自身事件被触发后,如果父元素有相同的事件,那么元素本身的触发状态就会传递,就是冒到父元素,父元素相同事件也会一级级向外触发 默认情况下,所有事件处理程序都是在冒泡阶段注册的 如果想早捕获阶段注册事件,通过addEventLi原创 2021-04-23 20:15:56 · 164 阅读 · 0 评论 -
几句话,让你搞懂this问题
几句话,让你搞懂this问题 先说结论 函数被谁调用,this就是谁,如果没有被对象调用,this就是window 通过new声明的构造函数,函数内容的this永远指向函数本身 箭头函数没有this,箭头函数内部的this取决于外部定义时的环境 箭头函数的this指向外层函数的this,如果外层也不存在this,会查找到window 常见的几种this使用场景 声明式 function test1() { console.log(this) } test1() // window 匿名函数/赋值式原创 2021-04-20 17:45:50 · 57 阅读 · 0 评论 -
浅谈前端模块化
浅谈前端模块化 CommonJS nodejs使用的规范 文件即模块,通过指定的方式进行导出 /表示通过绝对路径来加载模块,./表示通过相对路径来加载模块 模块加载会有缓存存在,存放在require.cache中,并且缓存是根据绝对路径来识别的 CommonJS是同步加载的,加载完成之后再进行下面的操作 运行时加载,CommonJS就是对象,在输入时先加载整个模块,生成一个对象,然后在从这个对象上面读取方法 CommonJS输出的是值拷贝,一旦输出一个值,模块内部变化不会影响这个值 // a.js f原创 2021-04-20 17:33:05 · 47 阅读 · 0 评论