首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JavaScript
月亮也心酸
创建于2021-08-19
订阅专栏
关于JS的知识体系
暂无订阅
共14篇文章
创建于2021-08-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JS继承的5种方式
第一种: 借助call 第二种: 借助原型链 注意的点:实际上这个方法主要实现了可以继承父的方法 第三种:将前两种组合 注意的点: 上一个方法相当于通过原型链访问父类上的属性,同一个父类,所以属性是同
new call apply bind内部原理之我的理解
new new被调用后做了三件事情: 让实例可以访问到私有属性 让实例可以访问构造函数原型(constructor.prototype)所在原型链上的属性 如果构造函数返回的结果不是引用数据类型 实现
Promise基础
1. 准备 1.1. 函数对象与实例对象 1.2. 回调函数的分类 1.3. JS中的Error 捕获错误: try ... catch 2. Promise的理解和使用 2.1. Promise是什么? 2.2. 为什么要用Promise? 2.3. 如何使用Promise?…
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡
虽然我们只点击了button元素,但是,button外的third、second、first上的事件由内向外以此被触发,触发的顺序是由DOM树的下层到DOM树的最上面,故称为冒泡。 注意:现代所有的浏览器都支持事件冒泡,只是在实现上有一些差别。 点击按钮:从 button ->…
ajax基础
AAX全称为Asynchronous JavaScript And XML,就是异步的S和 XML. 通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。 AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。 XML可扩展标记语言。 X…
持续输出JS第10篇-(JS数组)
3)数組中存在的每一项可以是任何数据类型,真实项目中,我们从服务器获取到的数据,-般都是对象或者数組(JSON格式),而且结构层级一般也都是多级结构,所以学会数组/对象的相关操作,能够根据需求把获取的数据进行有效的解析和处理,是当下前端开发中非常重要的知识点;尤其是vue/re…
持续输出js第9篇-(js中this的五种情况)
js中this的五种情况事件绑定THIS1:给元素的某个事件行为绑定方法,事件触发,方法执行,此时方法中的THIS一般都是当前元素本身dom0事件绑定dom2事件绑定(不兼容ie678)特殊情况1:此
持续输出js第8篇-(原型prototype和原型链__proto__)
原型prototype和原型链__proto__每一个类(函数)都具备prototype,并且属性值是一个对象该对象上天生具备一个属性:constructor,指向类本身每一个对象(普通对象、prot
持续输出js第7篇-(OOP和NEW的实现原理)
变量对象VO是与执行上下文相关的特殊对象,用来存储上下文的函数声明,函数形参和变量。在global全局上下文中,变量对象也是全局对象自身,在函数上下文中,变量对象被表示为活动对象AO。 当函数被调用后,这个特殊的活动对象就被创建了。它包含普通参数与特殊参数对象(具有索引属性的参…
持续输出js第6篇-(惰性函数和单例设计模式&&compose函数)
可以看到我们直接让emit在大函数里直接等于小函数,这样那些小函数就被全局变量emit占用,小函数的堆销毁不了,大函数的栈销毁不了。 所以这也叫惰性函数,做判断这件事,我只做一次。。
持续输出js第4篇-(闭包作用及栈堆内存释放)
如果要让它们销毁,很简单,让fn=null,f=null,x=null。 在这里虽然fn执行的返回结果没有赋给f,没有被外部变量占用,但是它的结果(小函数)还是要执行,所以要开辟堆,暂时占用fn私有作用域,等小函数执行完了就可以一块销毁(堆和栈)。 假如你已经写完了才发现,也没…
持续输出js第3篇-(数据渲染机制和闭包作用域)
当浏览器加载页面(加载js代码)的时候,首先会形成一个全局作用域window,提供代码之上而下执行的环境。 当 ary1=null(空对象),ary2=null,那么那个堆就不被谁占用了,也就可以回收了。 老套的变量提升机制(es2,es3)不严谨,你在上面提升的地方能用,下面…
持续输出js第2篇-(函数基础&&高阶函数)
函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。 如果没有return语句,函数执行完毕后也会返回结果,只是结果为undefined。 由于JavaScript的函数也是一个对象,上述定义…
持续输出js第1篇-(基础)
要特别注意相等运算符==。JavaScript在设计时,有两种比较运算符: 第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较。 由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。另一个例外是NaN这个…