PHP 神奇的 sprintf 函数

介绍了 PHP 中 sprintf() 函数的定义、语法及常用格式化类型,包括百分号、进制数、字符、浮点数、字符串等。通过示例展示了如何补位、设置宽度及小数位数等操作,并详细说明了附加格式值的使用规则,如填充字符、对齐方式和最小宽度等。

ES6 Promise 对象 then 方法链式调用

介绍了 then() 方法为 Promise 添加解决 (fulfillment) 和拒绝 (rejection) 状态回调的功能,其返回一个新的 Promise 实例以支持链式调用。若回调函数返回另一个 Promise 实例,则后续 then() 方法会等待该 Promise 状态改变后再执行,体现异步操作的串联特性。

ES6 通过 Set 数组去重

介绍了 Set 数据结构的定义、语法及常用方法,包括 add、delete、has 和 clear,支持存储任意类型的唯一值。通过 Set 可实现数组去重,利用扩展运算符将 Set 转换为数组,简化去重操作并保留原始数据顺序。

通过尾递归避免栈溢出

介绍了 JavaScript 中递归的基本概念及其内存开销,指出递归调用会因栈空间限制导致溢出错误。同时提到尾递归优化理论上能避免栈溢出,但当前浏览器尚未完全支持尾递归优化,因此在实际使用中仍需注意性能问题。

JavaScript 表示 x 的 y 次幂

介绍了 JavaScript 中指数运算符 (**) 和 Math.pow() 方法的用法与区别。指数运算符直接进行幂运算,支持赋值操作;Math.pow() 方法通过函数调用实现幂运算,语法更传统。两者均支持字符串类型转换为数值进行计算,示例展示了实际应用场景。