JavaScript学习笔记:数据类型与DOM操作
需积分: 10 181 浏览量
更新于2024-09-05
收藏 57KB MD 举报
"学习JavaScript时个人做的笔记。"
在学习JavaScript时,笔记中涵盖了多个关键知识点,包括代码的位置、数据类型以及对象的创建等基础概念。首先,了解JavaScript代码的书写位置至关重要,因为这直接影响到代码的执行和项目的可维护性。
1. **代码的位置**
- 在HTML元素的事件属性中:例如`onclick`,这种方式虽然简单,但不推荐,因为它混合了HTML结构和行为,不利于代码的组织和维护。
- 内联`<script>`标签:直接在HTML中插入`<script>`标签,书写JavaScript代码。这种方式方便快捷,但若代码量大,会使HTML文件变得臃肿。
- 外部`<script>`标签:将JavaScript代码放在独立的`.js`文件中,通过`<script src="..."></script>`引入。这是推荐的做法,有利于代码复用和浏览器缓存。
2. **数据类型**
JavaScript有六种数据类型,分为基本数据类型和引用数据类型:
- 基本数据类型:`String`(字符串)、`Number`(数值)、`Boolean`(布尔值)、`Null`(空值)、`Undefined`(未定义)。这些类型值是不可变的,它们存储在栈内存中。
- 引用数据类型:`Object`(对象),对象的值是可变的,它们存储在堆内存中,通过引用(内存地址)访问。
3. **字符串**
- 字符串是用引号括起来的一串字符,可以使用单引号或双引号,但需保持一致,不能嵌套。例如:`var str = "Hello, World!";`
- JavaScript支持多行字符串,可以通过模板字符串(使用反引号 `` ` ``)实现,或者通过连接多个字符串。
4. **创建对象**
- 对象可以通过字面量语法创建,如`var obj = {key1: value1, key2: value2};`,或通过构造函数创建,如`var obj = new Object();`。
- 对象的属性和方法可以通过点号或方括号访问,如`obj.key1`或`obj['key1']`。
5. **数组**
- 数组是一种特殊的对象,可以存储多个值,用方括号表示,如`var arr = [value1, value2, ...];`。
- 数组有许多内置的方法,如`push`、`pop`、`shift`、`unshift`、`slice`等,用于操作数组元素。
6. **包装类(BOM和DOM)**
- BOM(Browser Object Model)浏览器对象模型,提供了与浏览器交互的接口,如`window`对象,`navigator`对象等。
- DOM(Document Object Model)文档对象模型,是HTML和XML文档的结构化表示,允许程序和脚本动态更新、添加、删除和改变元素和属性。
7. **DOM事件对象操作**
- 事件处理可以绑定到HTML元素上,当触发事件时,对应的事件处理函数会被调用。例如`element.onclick = function(event) {...};`
- 事件对象`event`包含了有关事件的信息,如`event.target`指向事件触发的元素,`event.preventDefault()`阻止默认行为。
8. **定时器**
- JavaScript提供了`setTimeout`和`setInterval`函数来设置定时执行的任务。
- 轮盘绑定定时器可能指的是在用户操作后定时更新页面内容或其他操作。
9. **高级部分**
- **变量内存**:JavaScript中的变量在内存中的分配取决于其数据类型,基本类型直接存储值,引用类型存储的是指向堆内存中对象的引用。
- **回调函数**:作为参数传递的函数,通常在异步操作完成时被调用,如`setTimeout`的第二个参数就是一个回调函数。
- **函数自调用**:函数可以自我调用,如`(function() { /* code */ })();`,常用于立即执行函数表达式,避免污染全局作用域。
- **原型链**:JavaScript的对象继承是基于原型的,每个对象都有一个`__proto__`属性,形成了一条链,用于查找属性和方法。
以上就是学习JavaScript时笔记中涵盖的主要内容,这些基础知识是理解和应用JavaScript的基础。在深入学习过程中,还会涉及到更多概念,如闭包、作用域、异步编程、模块化等。
2009-05-27 上传
2023-08-31 上传
2023-09-01 上传
2023-06-28 上传
2023-03-31 上传
2023-07-28 上传
2023-09-27 上传
2023-05-22 上传
一颗喜糖
- 粉丝: 2
- 资源: 2
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构