JavaScript基础知识:对象转换、函数、遍历与事件流解析

0 下载量 189 浏览量 更新于2024-09-01 收藏 96KB PDF 举报
"本文总结了JavaScript开发中的基础知识点,包括JS对象与JSON的互换、New Function()的使用、forEach()迭代方法以及DOM事件流。同时,文章深入讲解了JavaScript的数据类型、无第三变量交换值的方法、/和%运算符的应用、Memoization技术的原理以及闭包的概念和作用。" 在JavaScript中,数据类型主要包括字符串、数字、布尔、数组、对象、Null和Undefined。`typeof`操作符可以用来检测变量的数据类型,它能区分number、string、boolean、object(包括null和数组)、function以及undefined。例如,当变量`a`的值改变时,`typeof`会返回相应的类型: ```javascript let a = 100; typeof a; // number a = undefined; typeof a; // undefined a = null; typeof a; // null ``` 默认类型转换在JavaScript中非常常见,例如在比较操作中,不同类型的数据会被自动转换。需要注意的是,这种转换可能导致预期之外的结果,比如`5 == true`返回`false`,因为true会先转换为1进行比较。 JS对象与JSON之间的转换是常见的需求。使用`JSON.stringify()`可以将对象转换为字符串,而`JSON.parse()`则用于将字符串还原为对象。但是,这种方法会丢失对象的方法,只保留属性。若需完整复制对象,需要手动遍历并复制所有属性和方法。JSON是基于JavaScript语法的,但它并不完全包含JavaScript的所有特性。 在JavaScript中,大小写转换是一个常见的字符串操作。例如,可以使用`toLowerCase()`和`toUpperCase()`方法来改变字符串的大小写: ```javascript let str = '23abGdH4d4Kd'; str.toLowerCase(); // "23abgdh4d4kd" str.toUpperCase(); // "23ABGDH4D4KD" ``` 此外,文章还涉及了`New Function()`构造函数,它允许动态创建函数,以及`forEach()`方法,这是数组的一个迭代方法,用于对每个元素执行指定的回调函数。DOM事件流是指事件在DOM节点上的传播过程,分为捕获阶段、目标阶段和冒泡阶段。 另外,文章提到了两种优化技巧:无第三变量交换值,例如使用加法或乘法实现两个变量的值互换,以及Memoization技术,这是一种缓存函数结果以避免重复计算的技术,通常用于提高性能。闭包是JavaScript中的一个重要概念,它可以访问并修改外部作用域的变量,即使在其定义的作用域之外,这使得闭包在实现私有变量、记忆化函数等方面非常有用。