一道算法题的题解
简单的说一下JavaScript中的动态变量
理解JavaScript中的__proto__和prototype

理解JavaScript中的__proto__和prototype

需要理解的一些概念

万物皆对象

虽然说 JavaScript 的面向对象不像是我们通常了解到的那些 OOP,但是,的确,在 JavaScript
中,所有的东西都是对象,这其中就包括了我们今天要说的,方法(Function)以及方法的原型(Function.prototype)
,他们都是对象。因此,它们都会具有对象共有的特点。
即:对象具有属性__proto__,可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法。

阅读更多
ES6中的模板字符串

ES6中的模板字符串

前两天在看教程的时候,突然发现了一个语法,具体如下:

1
2
3
4
5
6
7
foo = (...values) => console.log(...values)
// (...values) => console.log(...values)
a = 'bar'
// "bar"
foo`start${a}end`
// (2) ["start", "end"], raw: Array(2)] "bar"
// undefined

直接给我看蒙了,所以,我就ES6的模板字符串做一下总结:

阅读更多
就算是一份ES567的摘要吧
JavaScript中的一些小技巧
JavaScript中的防抖动和限流

JavaScript中的防抖动和限流

防抖动(debounce)和限流函数(throttle)

debounce 与 throttle 是开发中常用的高阶函数,作用都是为了防止函数被高频调用,换句话说就是,用来控制某个函数在一定时间内执行多少次。

阅读更多
正则表达式和IndexOf函数的效率问题

正则表达式和IndexOf函数的效率问题

事情的起因

事情的起因是一道LeetCode题目,具体如下:

1003. 检查替换后的词是否有效

给定有效字符串 “abc”。

对于任何有效的字符串 V,我们可以将 V 分成两个部分 X 和 Y,使得 X + Y(X 与 Y 连接)等于 V。(X 或 Y 可以为空。)那么,X + “
abc” + Y 也同样是有效的。

例如,如果 S = “abc”,则有效字符串的示例是:”abc”,”aabcbc”,”abcabc”,”abcabcababcc”。无效字符串的示例是:”abccba”,”ab”,”
cababc”,”bac”。

如果给定字符串 S 有效,则返回 true;否则,返回 false。

阅读更多
React源码解读-事件注册
React和Vue中的数据绑定

React和Vue中的数据绑定

数据的单向绑定

我们在做原生页面开发的时候,如果涉及到前端的数据动态展现,是如何做的呢?(这里排除了后端直接返回嵌入数据的HTML
页面的模式,比如说PHP中的模式),比如下面的例子:

1
<p></p>
1
2
const data = { value: 'hello' }
document.querySelector('p').innerText = data.value;

通过 JavaScript 原生的DOM操作方式,将数据动态填充到DOM中,就是数据(Data)到模板(DOM)的绑定,这就是数据单向绑定。

阅读更多