- 博客(6)
- 收藏
- 关注
原创 JS给构造函数添加属性
在函数内部添加的属性,会添加到使用该函数作为构造函数创建的对象身上在构造函数外部添加的属性,只作为该函数的属性,即对象属性,不会添加到对象身上let Foo = function(){ this.age = 18; this.getName = function () { console.log('2'); } } Foo.getName = function () { console.log('3'); } let foo = new
2021-12-13 15:25:30 1381
原创 装饰器模式和转发,call/apply
装饰器(decorator)一个特殊的函数,它接受另一个函数并改变它的行为,它返回缓存包装器。let worker = { slow(min, max) { alert(`Called with ${min},${max}`); return min + max; }};function cachingDecorator(func, hash) { let cache = new Map(); return function() { let key = ha
2021-12-13 11:28:20 331
原创 JS中的递归
递归1.一种编程模式2.当一个函数解决一个任务时,在解决的过程中它可以调用很多其它函数。在部分情况下,函数会调用 自身。这就是所谓的 递归。3.引擎限制了递归深度,而递归深度等于堆栈中上下文的最大数量。4.递归中的上下文占用内存,但递归代码更短,属于易于理解和维护的好代码。5.循环算法更节省内存,任何递归都可以用循环来重写,通常循环变体更有效。6.应用递归遍历—适用于任何层次的子部门嵌套。递归结构—“链表”—某些情况下,可能是优于数组的选择。7.当我们必须对数组内的在尾端以外的元素进行更快
2021-12-03 17:05:39 535
原创 JSON(JavaScript Object Notation)
(一)JSON转换过程1. 对象—>(JSON.stringify)2. —>JSON字符串—>(JSON 编码(JSON-encoded) 或 序列化(serialized) 或 字符串化(stringified) 或 编组化(marshalled) 的对象)3. (JSON.parse)—>对象(二)JSON.stringify 会跳过以下内容:let user = {sayHi() { // 被忽略alert(“Hello”);},[Symbol(“i
2021-12-02 14:51:24 528
原创 JS中的日期&时间
日期let now = new Date(); // 显示当前的日期/时间let Jan01_1970 = new Date(0);let Jan02_1970 = new Date(24 * 3600 * 1000);let Dec31_1969 = new Date(-24 * 3600 * 1000);let date = new Date(“2017-01-26”);let date =new Date(2011, 0, 1, 0, 0, 0, 0); // 1 Jan 2011, 00
2021-11-29 14:02:09 3107
原创 JS中的Map&Set
Mapa.set/get/has/delete/clear/size带键值对的数组【【 ,】【 ,】【 ,】】键可以是任何类型(使用对象作为键是 Map 最值得注意和重要的功能之一)Setb.add/has/delete/clear/size不重复‘值’的集合【 , , ,】注意1.a[键] 会被当做普通对象2.可‘链式’调用3.for…of / forEach4.a/b.keys/.value/.entries5.有序相关创建1.空的 let a = new Map( );2
2021-11-24 10:30:40 372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人