摘要:
## 操作CSS类 Element对象的classList属性是一个DOMTokenList对象,它是一个类数组对象,可迭代;有可以像Set对象那样添加和移除元素。 ``` ELement.classList.add('hidden'); Element.classList.remove('hidd 阅读全文
摘要:
## 概述 全局的Window对象有一个document属性,它引用一个Document对象,通过该对象操作DOM。 ## 选择DOM元素 HTML文档中的\与\标签可以通过Document对象的head与body属性访问,但是更深层级的元素需要通过查询来获取。 有两组方法来选择元素,一组是通过CS 阅读全文
摘要:
为了保证安全,浏览器中的JavaScript不能读写设备中的文件,也不能访问任意的服务器。 ## 同源策略 同源策略指的是脚本只能访问与包含它的文档同源资源。 源是指文档URL中的协议、主机与端口部分,完全相同则是同源,任意一项不同都不是同源。 脚本文件的URL与同源策略毫不相干,同源策略至于脚本的 阅读全文
摘要:
## 未被捕获的异常 在程序中,往往会出现异常。虽然主动捕获这些异常是保证程序健壮的必要做法,但是难免会漏掉一些。 对于未被捕获的异常,浏览器会在控制台显示一条错误信息,该信息包含异常信息和其在代码中出现的位置。 ## window.onerror Window对象有一个onerror属性,将其指定 阅读全文
摘要:
## 任务执行机制 javascript程序是单线程运行的,意味着执行多个任务需要将它们排队。 根据应用场景的不同,任务被分为同步任务与异步任务。 同步任务即是立即执行的代码,由JavaScript线程执行。 异步任务是由宿主环境开辟新的线程来执行,在任务完成后通知主线程。异步任务是基于回调实现的。 阅读全文
摘要:
## 概念 客户端JavaScript程序使用异步事件驱动的编程模型。 浏览器会在文档、浏览器或某些元素或与之关联的对象发生某些事情时生成事件对象。比如文档加载完成、敲击键盘输入等。 JavaScript程序可以给某些对象绑定监听器函数来监听特定的事件,在该对象上发生指定事件时,这些函数会被执行。 阅读全文
摘要:
## 前言 在js编程中,模块指的是按照一定格式将代码以功能拆分后作为独立文件存在的一个实体。 早期的JS并没有规定模块应该如何设计,核心语言也没有针对模块提供相关支持。 早期的代码使用IIFE来实现一个模块, 它是通过向全局对象添加属性来实现与其他模块来交互的。 ``` (function() { 阅读全文
摘要:
## 概念 在js中,函数与其他类型一样,是一个支持所有操作的值,是一个对象,是编程语言里的“一等公民” 函数是一个代码块,每被调用一次,其代码就会执行一次。 函数有一个被`{}`包裹的函数体,具体的逻辑代码就写在里面。 使用return关键字返回函数的计算结果,如果没有返回值,那函数调用表达式的值 阅读全文
摘要:
数组的定义 数组是值的有序集合,其中的值叫做元素,每个元素都有一个用数值表示的位置,称作索引或下标。 JS的数组本质上还是一个对象,按照对象的定义,其索引就是属性名,只不过是非负整数值的字符串,且可以省略命名罢了。 JS对于索引与其他属性有不同的行为,对索引属性操作,会自动更新length属性。 在 阅读全文
摘要:
对象 定义 对象是JavaScript最基本的数据类型。在JS中,几乎一切数据都是对象。即使是原始类型,也都有对应的包装类型,除number外,字面量可以当作对象直接使用,因为js引擎在解析时会隐式地将其转换为对应的包装对象,用完后在销毁。 与静态的面向对象语言采用静态复制的方式来继承与创建对象不同 阅读全文