js对象模式如何理解
1、匹配对象。如果有省略号,对象可以有更多的属性。2、只检测自己的属性(Object.keys),忽略原型中的属性。对象语法支持特殊识别属性,快速属性,属性不支持尾逗号。实例test("value object", () => { let input = '{}' let y = match(input) let v = y({}) let w = y({ x: 0 }) ...
2024-01-10js数组模式是什么
1、匹配一个数组。根据数组元素的长度,数组匹配可分为严格的长度匹配和最短的长度匹配。2、如果有省略号,可以匹配任何更多的数组元素。数组语法不支持洞(连续逗号)和尾逗号。不支持迭代器。实例test("value array", () => { let y = match('[]') let v = y([]) let w = y({}) expect(...
2024-01-10js标识符模式的介绍
1、是一个合法的JavaScript标识符,除了标识符不包括$字符,但不能是类型名称。2、模式中的标识符和类型名称区分大小写,与js语法一致。标识符模式总是成功匹配任何值。通配模式虽然是标识符,但实际上是弃元(discard),弃元表示完全不能使用的值。仅用于占位。同名不会引起名称冲突。实例test("val...
2024-01-10js如何自定义构造函数创建对象
1、函数内部不需要new构建函数的过程,直接用this代替对象写属性和方法,也不需要return返回值。比工厂方法更方便。2、使用时,使用new关键字调用自定义构造函数。注:构造函数的函数名首字母需要大写,不同于其他普通函数。实例function Person(name, age, sex){ //不需要使用new一个新对象,直接用thi...
2024-01-10js函数声明的提升顺序
1、先提升var变量声明,再提升function函数声明。2、假设变量名与函数名相同,后提升的函数名标识符将覆盖先提升的变量名。在后续代码中调用标识符时,内部是函数的定义过程,而不是undefined。实例console.log(a); //——>undefinedconsole.log(fun); //——>fun(){console.log(2);}var a = 1;var fun = "haha"; //相当于...
2024-01-10js数组中reduce的用法
1、reduce()方法对数组中的每个元素执行一个reducer函数,并将其结果总结为单个返回值。2、它接收两个参数,一个reducer函数提供给数组的每个调用,一个可选的初始值参数。实例求数组项之和var sum = arr.reduce(function (prev, cur) { return prev + cur;},0);求数组项值var max = arr.reduce(function (prev, cur)...
2024-01-10js数组中find方法的介绍
1、find返回数组中满足条件的第一个元素的值,否则返回undefined。2、find方法对数组中的每个元素执行callback函数,并返回true的第一个元素值。3、find不会改变原数组。实例Array.prototype._find = function(callback){ let res = undefined for(var i=0;i<this.length;i++){ if(callback(this[i],i,this)){ res = this[i...
2024-01-10js数组中filter方法的使用
1、filter返回一个包含通过提供函数实现测试的所有元素的新数组。2、filter不会改变原始数组,返回新数组。3、在首次调用callback之前,filter遍历的元素范围已经确定。实例Array.prototype._filter = function(callback){ let res = [] for(var i=0;i<this.length;i++){ if(callback(this[i],i,this)){ res.push(this[i])...
2024-01-10js中typeof操作符是什么
1、typeof操作符返回字符串,表示未计算操作数的类型。2、typeof一般用来检验简单的数据类型,返回的基本类型用字符串表示,而复杂的数据类型中function返回的是Function,其他的都返回Object,其中null特殊,表示一个空对象。实例typeof 1 // 'number'typeof '1' // 'string'typeof undefined // 'undefined'typeof true...
2024-01-10js策略模式是什么
1、定义一系列算法,一个个封装,让它们互相替换。2、它可以帮助我们少写if...else...同时,它可以使代码逻辑更加清晰,减少不同块之间的耦合,使代码更容易维护。实例function payOver() { console.log('结算完成')} function wxPay(orderId, money){ console.log('微信支付') payOver()} function jdPay...
2024-01-10