JavaScript学习笔记:数据类型与DOM操作
需积分: 10 189 浏览量
更新于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的基础。在深入学习过程中,还会涉及到更多概念,如闭包、作用域、异步编程、模块化等。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-02-18 上传
2009-01-08 上传
2021-01-18 上传
一颗喜糖
- 粉丝: 2
- 资源: 2
最新资源
- object-pattern:JavaScript 的对象模式结构
- Nunes-Corp.github.io:Nunes Corp.网站
- TestVisualStudioBg:联合国工程
- weichiangko.github.io
- em-hrs-ingestor:CVP批量导入项目的摄取组件
- liuhp.github.io:个人主页
- Hyrule-Compendium-node-client:Hyrule Compendium API的官方Node.js客户端
- 等级聚合:汇总有序列表。-matlab开发
- MYSQL 定界符分析通过硬编码的方式实现多语句分割并且支持定界符
- Proyecto-Reactjs
- LLVMCMakeBackend:愚人节笑话,CMake的llvm后端
- A5Orchestrator-1.0.2-py3-none-any.whl.zip
- Knotter:凯尔特结的互动设计师-开源
- Eva是一个分布式数据库系统,它实现了一个时间感知,累积和原子一致的实体-属性-值数据模型
- resume-website:AngularJS内容管理系统
- 配煤专家系框图.zip