我们从一个很简单的示例开始说起
1 | [] + {} |
由于时间关系,我在这片笔记中就不展开说了。简单的说一下上面几个语句。
1 | [] + {} |
由于时间关系,我在这片笔记中就不展开说了。简单的说一下上面几个语句。
理解JavaScript中的__proto__和prototype
虽然说 JavaScript 的面向对象不像是我们通常了解到的那些 OOP,但是,的确,在 JavaScript
中,所有的东西都是对象,这其中就包括了我们今天要说的,方法(Function)以及方法的原型(Function.prototype)
,他们都是对象。因此,它们都会具有对象共有的特点。
即:对象具有属性__proto__
,可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法。
前两天在看教程的时候,突然发现了一个语法,具体如下:
1 | foo = (...values) => console.log(...values) |
直接给我看蒙了,所以,我就ES6的模板字符串做一下总结:
1 | const ThousandNum = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') |
debounce 与 throttle 是开发中常用的高阶函数,作用都是为了防止函数被高频调用,换句话说就是,用来控制某个函数在一定时间内执行多少次。
事情的起因是一道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。
本文主要通过OutLine和思维导图的方式展现React中事件注册的流程。
我们在做原生页面开发的时候,如果涉及到前端的数据动态展现,是如何做的呢?(这里排除了后端直接返回嵌入数据的HTML
页面的模式,比如说PHP
中的模式),比如下面的例子:
1 | <p></p> |
1 | const data = { value: 'hello' } |
通过 JavaScript
原生的DOM
操作方式,将数据动态填充到DOM
中,就是数据(Data
)到模板(DOM
)的绑定,这就是数据单向绑定。