JavaScript基础练习_day2
### JavaScript基础练习_day2知识点详解 #### 一、概述 本篇练习主要针对JavaScript初学者设计,涵盖了变量声明、数据类型、算术运算、字符串处理以及数组操作等基础概念。通过具体的代码示例来帮助读者理解和掌握这些核心知识点。 #### 二、变量声明与数据类型 1. **变量声明**: - 在JavaScript中,`var` 是用于声明变量的关键字之一。随着ES6的引入,推荐使用 `let` 和 `const` 进行变量声明。 - 示例中的 `varexerOne='test;` 存在语法错误,正确的写法应该是 `var exerOne = 'test';`。此错误提示 `Uncaught SyntaxError: Invalid or unexpected token` 表明在字符串中缺少了一个闭合引号。 2. **数据类型**: - JavaScript是一种动态类型语言,常见的数据类型包括:数字(Number)、字符串(String)、布尔(Boolean)、null、undefined、对象(Object)等。 - 示例中: - `exerTwo` 的值是无穷大(`Infinity`),因为任何非零数值除以0的结果都是Infinity。 - `exerThree` 的值是NaN(Not a Number),因为0除以0的结果是不确定的,因此被定义为NaN。 - `typeof` 操作符用于查询变量的数据类型,可以看到即使是Infinity或NaN,它们的数据类型也是Number。 #### 三、数值转换与解析 1. **数值转换**: - 使用 `Number()` 可以将其他类型的值转换为数字,但如果转换失败则返回NaN。 - `parseFloat()` 和 `parseInt()` 用于解析字符串中的数字,其中 `parseFloat()` 解析浮点数,`parseInt()` 解析整数。 - 示例中的 `Number("-3.3E+2-5")` 返回NaN是因为字符串中含有非法字符 `-5`,而 `parseFloat("-3.3E+2-5")` 则成功解析出 `-330`。 2. **区别**: - `Number()` 是整体转换,即尝试将整个字符串转换为数字。 - `parseFloat()` 和 `parseInt()` 是从左到右部分转换,即遇到第一个无法解析的字符时停止并返回已解析的部分。 #### 四、字符串操作 1. **字符串拼接与访问**: - 字符串可以通过加号 (`+`) 进行拼接。 - 示例中的 `console.log(exerFive_1 + exerFive_2)` 将数值与字符串进行拼接,得到结果 `2.5isfloat?`。 - 双引号和单引号都可以用来定义字符串,双引号内可以包含单引号,反之亦然。示例中的 `"thisis\"teststring"` 中的 `\` 是转义字符,用于表示特殊字符如双引号。 2. **字符串切片**: - `slice()` 方法用于从字符串中提取一个子串,不修改原字符串。 - 示例中的 `console.log(exerSeven.slice(5, 9))` 从索引5开始(包括),到索引9结束(不包括),得到子串 "is"。 #### 五、算术运算与浮点数问题 1. **浮点数运算**: - 浮点数在计算机内部是以近似值存储的,因此像 `0.1 + 0.2 != 0.3` 这样的情况很常见。 - 为了避免浮点数运算带来的精度问题,可以将浮点数乘以适当的倍数转化为整数再进行运算,或者使用 `toFixed()` 方法对结果进行四舍五入。 2. **解决方法**: - 示例中提供的两种解决方案: - `(0.1 + 0.2).toFixed(1) == '0.3'`,使用 `toFixed()` 方法对结果进行四舍五入。 - `(0.1 * 10 + 0.2 * 10) / 10 == 0.3`,先将浮点数乘以10再进行运算,最后除以10得到精确结果。 #### 六、数组操作 1. **数组操作方法**: - JavaScript数组提供了多种方法来进行操作,不同的方法对原数组的影响也不同。 - 示例中给出了一些不会改变原数组的方法,它们是返回新数组的操作: - D、`slice()`:返回指定位置的元素副本组成的数组。 - E、`concat()`:连接两个或多个数组,并返回新的数组。 - H、`map()`:创建一个新数组,其结果是调用一个提供给数组每个元素的函数。 - I、`reduce()`:对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。 - J、`copyWithin()`:浅拷贝数组的一部分到数组的另一个位置,并返回数组本身。 2. **总结**: - 了解这些方法对于编写高效且易于维护的代码至关重要。例如,在需要保留原始数组不变的情况下使用 `slice()` 或 `concat()`;而在需要对数组元素进行转换或汇总时使用 `map()` 或 `reduce()`。 通过以上知识点的讲解,相信初学者能够更好地理解JavaScript的基本概念,并在实际开发中应用这些基础知识。随着实践的深入,这些基本概念将会成为构建更复杂应用程序的坚实基石。
- 粉丝: 95
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Spark平台TMDB电影数据分析及可视化源代码(高分期末大作业&课程设计)
- 【目标检测数据集】超市商品货架空置缺货检测数据集4470张2类标签VOC+YOLO格式.zip
- 哈尔滨工程大学人工智能大作业-基于A-算法的最优路径规划系统源代码(高分)
- Python复合数据类型:解锁编程世界的无限可能.md
- 期末大作业-基于Faster RCNN的人脸口罩识别系统python源码+说明+数据集模型
- 课程设计-基于Faster RCNN的人脸口罩识别系统python源码+文档说明+数据集模型
- Python中的魔法元素:探索基本数据类型的奥秘.md
- 管道潜望镜检测技术在排水管道检测中的应用_孙乐乐.caj
- 3666 删除最小值.cpp
- Ruby 语言教程、案例及相关项目.docx