学习笔记 2020-11-27
JavaScript 高级程序设计(第4版) 阅读记录
表单脚本
富文本编辑
富文本选择
- getSelection()
- anchorNode
- anchorOffset
- focusNode
- focusOffset
- isCollapsed
- rangeCount
- addRange()
- collapse(node, offset)
- collapseToEnd()
- collapseToStart()
- containsNode()
- deleteFromDocument()
- extend()
- getRangeAt()
- removeAllRanges()
- removRange(range)
- selectAllChildren()
- toString()
通过表单提交富文本
现代 JavaScript 教程
原生的原型
任务
给函数添加一个 “f.defer(ms)” 方法
在所有函数的原型中添加
defer(ms)
方法,该方法将在ms
毫秒后运行该函数。当你完成添加后,下面的代码应该是可执行的:
function f() { alert("Hello!"); } f.defer(1000); // 1 秒后显示 "Hello!"
Function.prototype.defer = function (time) { setTimeout(this, time); };
将装饰器 “defer()” 添加到函数
在所有函数的原型中添加
defer(ms)
方法,该方法返回一个包装器,将函数调用延迟ms
毫秒。下面是它应该如何执行的例子:
function f(a, b) { alert( a + b ); } f.defer(1000)(1, 2); // 1 秒后显示 3
请注意,参数应该被传给原始函数。
Function.prototype.defer = function (time) { let that = this; return function (...args) { setTimeout(() => that.apply(this, args), time); }; };