JavaScript学习笔记:数据类型与DOM操作
需积分: 10 43 浏览量
更新于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 上传
2024-04-18 上传
2023-08-31 上传
2023-09-01 上传
2023-06-28 上传
2023-03-31 上传
2023-07-28 上传
2023-09-27 上传
一颗喜糖
- 粉丝: 2
- 资源: 2
最新资源
- 俄罗斯RTSD数据集实现交通标志实时检测
- 易语言开发的文件批量改名工具使用Ex_Dui美化界面
- 爱心援助动态网页教程:前端开发实战指南
- 复旦微电子数字电路课件4章同步时序电路详解
- Dylan Manley的编程投资组合登录页面设计介绍
- Python实现H3K4me3与H3K27ac表观遗传标记域长度分析
- 易语言开源播放器项目:简易界面与强大的音频支持
- 介绍rxtx2.2全系统环境下的Java版本使用
- ZStack-CC2530 半开源协议栈使用与安装指南
- 易语言实现的八斗平台与淘宝评论采集软件开发
- Christiano响应式网站项目设计与技术特点
- QT图形框架中QGraphicRectItem的插入与缩放技术
- 组合逻辑电路深入解析与习题教程
- Vue+ECharts实现中国地图3D展示与交互功能
- MiSTer_MAME_SCRIPTS:自动下载MAME与HBMAME脚本指南
- 前端技术精髓:构建响应式盆栽展示网站