![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS基础
文章平均质量分 56
Devin_chen520
xzcxzcxz zxczxczxc
5465465
展开
-
vue3的响应式
如果你平时有关注 Vue 的进展的话,可能已经知道了在 Vue3.0 中将会通过 Proxy 来替 换原本的 Object.defineProperty 来实现数据响应式。 Proxy 是 ES6 中新增的功能,它 可以用来自定义对象中的操作。 let p = new Proxy(target, handler) target 代表需要添加代理的对象, handler 用来自定义对象中的操作,比如可以用来自 定义 set 或者 get 函数。 接下来我们通过 Proxy 来实现一个数据响应式 .原创 2021-06-29 14:32:45 · 248 阅读 · 1 评论 -
JS中的模块化
模块化 使用模块化肯定是有原因的,那么使用模块化可以给我们带来以下好处 解决命名冲突 提供复用性 提高代码可维护性 立即执行函数 在早期,使用立即执行函数实现模块化是常见的手段,通过函数作用域解决了命名冲突、污染全局作用域的问题 (function(globalVariable){ globalVariable.test = function() {} // ... 声明各种变量、函数都不会污染全局作用域 })(globalVariable) AMD 和 CMD 鉴于目前这两种实现方式已原创 2021-06-29 14:17:10 · 79 阅读 · 0 评论 -
原型继承和 Class 继承
首先先来讲下 class ,其实在 JS 中并不存在类, class 只是语法糖,本质还是函数。 class Person {} Person instanceof Function // true 这里将会使用分别使用原型和 class 的方式来实现继承。 组合继承 组合继承是最常用的继承方式 function Parent(value) { this.val = value } Parent.prototype.getValue = function() { console.log(原创 2021-06-29 14:00:36 · 125 阅读 · 1 评论 -
js中this 是什么?!bind的概念!
this 是很多人会混淆的概念,但是其实它一点都不难,只是网上很多文章把简单的东西说复杂了。在这一小节中,你一定会彻底明白 this 这个概念的。 我们先来看几个函数调用的场景 functionfoo() { console.log(this.a) } var a = 1 foo() const obj = { a: 2, foo: foo } obj.foo() const c = new foo() 接下来我们一个个分析上面几个场景 对于直接调用 foo 来说,不管 f原创 2021-06-29 11:16:26 · 138 阅读 · 1 评论