介绍了 JavaScript 中递归的基本概念及其内存开销,指出递归调用会因栈空间限制导致溢出错误。同时提到尾递归优化理论上能避免栈溢出,但当前浏览器尚未完全支持尾递归优化,因此在实际使用中仍需注意性能问题。
介绍了 JavaScript 中指数运算符 (**) 和 Math.pow() 方法的用法与区别。指数运算符直接进行幂运算,支持赋值操作;Math.pow() 方法通过函数调用实现幂运算,语法更传统。两者均支持字符串类型转换为数值进行计算,示例展示了实际应用场景。
介绍了 JavaScript 中四种处理数字的小数部分的方法:Math.trunc() 去除小数保留整数,Math.round() 四舍五入,Math.ceil() 向上取整,Math.floor() 向下取整。每种方法均支持字符串和布尔值转换,返回结果可能为整数或 NaN,示例展示了不同输入下的具体行为。
介绍了 JavaScript 正则表达式中点 (.) 的匹配规则,默认情况下不能匹配换行符及部分特殊字符。ES2018 引入修饰符 s,启用 dotAll 模式后,点 (.) 可匹配任意字符,示例展示了其在处理换行符时的实际效果。
介绍了 JavaScript 中 match() 方法用于检索字符串并返回匹配结果数组,强调正则标识 g 和 u 的用途。通过 u 标识和扩展运算符处理大于 0xFFFF 的 Unicode 字符,展示获取真实字符串长度的方法。Array.from() 方法可将字符串转为数组,便于计算实际长度。
介绍了 JavaScript 中 padStart() 和 padEnd() 方法,用指定字符串填充目标字符串以达到指定长度。padStart() 从左侧填充,padEnd() 从右侧填充,填充字符串可重复或截断。当目标长度小于原字符串长度时,返回原字符串。
介绍了 JavaScript 中 repeat() 方法,用于将字符串重复指定次数生成新字符串。参数 count 可为零到正无穷的整数,浮点数会向下取整,特殊值如 NaN 等同于 0。count 不能为负数或 Infinity,否则会报错。
介绍了 JavaScript 中 indexOf()、includes()、startsWith() 和 endsWith() 方法的功能与用法。indexOf() 返回字符串中指定值的索引,includes() 判断是否包含某值,startsWith() 检测字符串是否以指定值开头,endsWith() 判断是否以指定值结尾,均支持可选参数控制查找范围。
介绍了 label 语句的用法,通过为代码块添加标签,可与 break 或 continue 结合使用,控制多层循环的跳出或继续。示例展示了单标签和多标签的应用方式,帮助精准控制循环逻辑。
介绍了 typeof、instanceof、in 和 hasOwnProperty 的用法及区别。typeof 判断值类型,instanceof 检测对象是否为构造函数实例,in 检查属性是否存在(包括原型链),hasOwnProperty 判断属性是否为对象自身所有,并通过代码示例展示其实际应用场景与注意事项。