《JavaScript高级程序设计》读书笔记
2021-11-21 10:13:23 10 举报
AI智能生成
《JavaScript高级程序设计》阅读笔记
作者其他创作
大纲/内容
简介
最开始时再浏览器处理一些简单的表单验证
主要由三个部分构成
ECMAScript,提供核心语言功能
DOM,提供访问和操作网页内容的接口
BOM,提供与浏览器交互的方法和接口
HTML中使用JavaScript
推荐嵌入的方式引入js
浏览器会根据先后顺序对js进行解析,所以一般会把这些放在body后面
语言基础
数据类型
基础类型
Undefined、Bull、Boolean、Number、String
引用类型
Object:应用最广泛,一般采用json表示
其他类型:Array、Date、RegExp、Function等,都有一些独特的方法
函数
参数:ECMAScript的参数在内部是以一个数组来表示的,所以不介意函数传递进来多少个参数。
命名的参数只提供便利,但不是必须的
参数传递:所有参数传递的都是值,不可能通过引用传递参数。
但是如果是Object,由于实际上相当于是一个指针,所以在函数内部对Object进行修改,也是会影响外部对象的。
没有重载:由于所有函数的参数实际上都是一个数组,所以也就没有重载的概念了
作用域
全局执行环境:被认为是window对象,程序退出时才销毁
没有块级作用域
BOM
BOM提供了与浏览器交互的方法和接口。比如设置窗口大小、位置、导航和打开窗口、系统对话框、间歇调用和超时调用等功能
各浏览器间的实现存在差异
各浏览器间的实现存在差异
DOM
节点层次
有不同节点类型,组合成一颗树:Node、Document、Element、Text、Comment、Attr等等
每种类型的对象都有nodeType、nodeName等属性标识自己是个啥对象
每种类型的对象都有nodeType、nodeName等属性标识自己是个啥对象
Document操作
document.documentElement属性,该属性始终指向 HTML 页面中的<html>元素
document.getElementById:只返回文档中第一次出现的元素
document.getElementsByTagName:返回的是包含零或多个元素的 NodeList
document.getElementsByName:根据name属性返回
Element操作
属性操作:getAttribute、setAttribute、removeAttribute
实际上经常使用.的方式访问属性而不是使用这些方法
操作自定义属性值时使用这些方法
实际上经常使用.的方式访问属性而不是使用这些方法
操作自定义属性值时使用这些方法
attributes 属性集合操作:getNamedItem/removeNamedItem、setNamedItem
创建元素:document.createElement
添加元素:appendChild:一旦添加,就会实时反映在浏览器汇总
Text操作
document.createTextNode
事件
事件流
事件冒泡流:事件开始时由最具体的元素接收,然后逐级向上传播到较不具体的节点
事件捕获流:不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件
很少使用事件捕获,应放心使用事件冒泡
DOM事件流
分为三个阶段:捕获阶段、目标阶段、冒泡阶段
事件处理程序
addEventListener
removeEventListener
事件委托
事件太多会占用内存和性能
可以把事件委托给一个公共节点,事件发生时在处理程序内部根据具体的节点做具体的处理
其他一些特性
入门暂时用不到
0 条评论
下一页