第一章 JavaScript对象
第一节 Function 函数(方法)对象
一、创建
var fun = new Function(形式参数列表, 方法体); // 不推荐
function 方法名称(形式参数列表){
方法体;
}
var 方法名 = function(形式参数列表){
方法体;
}
二、方法
三、属性
四、特点
- 方法定义时,形参的类型不用写,返回值得类型也不用写(写也是写var,不如不写)
- 方法是一个对象,如果定义的名称相同的方法,会覆盖
- 在JS中,方法的调用只与方法的名称有关,和参数列表无关(未对应的则为undefined类型)
- 在方法的声明中有一个隐藏的内置对象(数组)arguments,会封装所有的实际参数
ps:即使不设置形式参数列表,依然可以通过遍历arguments来得到实际参数
五、调用
方法名称(实际参数列表);
第二节 Array 数组对象
一、创建
var arr = new Array();
var arr = new Array(元素列表);
var arr = new Array(默认长度); // 括号中只有一个元素即指数组长度
var arr = [元素列表];
二、方法
- JS中,数组元素类型可变,同一个数组中允许存在多种数据类型的元素
- JS中,数组的长度可以变化,类似Java中的ArrayLIst
第三节 Date 日期对象
一、创建
var date = new Date(); // 创建日期对象
二、方法
- toLocaleString():返回当前date对象对应时间的本地字符串格式
- getTime():获取毫秒值。返回当前日期对象描述的时间到1970年1月1日零点的毫秒值差
第四节 Math 数学对象
一、创建
// 特点:Math对象不用创建,直接使用
math.方法名()
二、方法
- random():返回0~1之间的随机数。含0不含1,即包左不包右。
- ceil(x):对参数进行向上舍入。
- floor(x):对参数进行进行向下舍入。
- round(x):把参数四舍五入为最接近的整数。
三、属性
PI
第五节 RegExp 正则表达式对象
何为正则表达式
正则表达式:定义字符串的组成规则。
- 单个字符:[]
如:[a] [ab] [a-zA-Z0-9_]
- 特殊符号代表特殊含义的单个字符:
- \d:单个数字字符[0-9]
- \w:单个单词字符[a-zA-Z0-9_]
- 量词符号:
- ?:表示出现0次或1次
- *:表示出现0次或多次
- +:表示出现1次或多次
- {m,n}:表示 m <= 数量 <= n
- m如果缺省,即{,n}:最多n次
- n如果缺省,即{m,}:最少m次
- 开始结束符号
- ^:开始符号
- $:结束符号
一、创建
```javascript var reg = new RegExp(“正则表达式”); var reg = new RegExp(“^\w{6-12}$”);
var reg = /正则表达式/; var reg = /^\w{6-12}$/;
<a name="X7Sme"></a>
### 二、方法
- test(参数):用来验证指定的字符串是否符合正则定义的规范。
```javascript
var reg = /^\w{6-12}$/;
var username = "zhangsan";
var flag = reg.test(username);
第六节 Global 全局对象
一、创建&特点
全局对象,这个Global中封装的方法不需要对象就可以直接调用,即:方法名();
二、方法
encodeURI:url编码
- decodeURI:url解码
- encodeURIComponent:url编码,编码的字符更多(会将一些符号也进行编码)
- decodeURIComponent:url解码
- url编码
- 传智播客 = %E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2
- url编码
parseInt():将字符串转为数字
- 逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
var str = "123abc";
var number = parseInt(str);
alert(number + 1); // 124
- 逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
isNaN():判断一个值是否为NaN
- NaN六亲不认,连自己都不认。NaN参与的==比较全部为false
- eval():将JavaScript代码构成的字符串作为脚本代码来执行。
var jscode = "alert(123)";
eval(jscode);
第二章 BOM
第一节 总览
一、概念
概念:Browser Object Model 浏览器对象模型
-
二、组成
Window:窗口对象
- Navigator:浏览器对象
- Screen:显示器屏幕对象
- History:历史记录对象
-
第二节 Window 窗口对象
一、创建
二、方法
与弹出框有关的方法:
- alert() 显示带有一段消息和一个确认按钮的警告框。
- confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
- 如果用户点击确定按钮,则方法返回true
- 如果用户点击取消按钮,则方法返回false
- prompt() 显示可提示用户输入的对话框。
- 返回值:获取用户输入的值
- 与打开关闭有关的方法:
- close() 关闭浏览器窗口。
- 谁调用就关闭谁
- open() 打开一个新浏览器窗口
- 返回新的Window对象
- close() 关闭浏览器窗口。
与定时器有关的方法
history:历史记录对象
- location:地址栏对象
- Navigator:浏览器对象
- Screen:显示器屏幕对象
2.获取DOM对象
第三节 Location 地址栏对象
一、创建(获取)
- Windows.location
-
二、方法
-
三、属性
-
第三章 DOM
第一节 总览
一、概念
Document Object Model 文档对象模型
将标记语言文档的各个组成部分,封装为对象。可以使用这些对象,对标记语言文档进行CRUD的动态操作
二、W3C DOM标准
核心DOM - 针对任何结构化文档的标准模型
- Document:文档模型
- Element:元素模型
- Attribute:属性对象
- Text:文本对象
Comment:注释对象
Node:节点对象,其他5个的父对象
- XML DOM - 针对XML文档的标准模型
-
第二节 DOM简单学习
一、功能
-
二、代码
获取页面标签(元素)对象 Element ```javascript document.getElementById(“id值”); // 通过元素的id获取元素对象
悔创阿里杰克马
// 通过id获取元素对象 var light = document.getElementById(“light”); alert(“我要换图片了”); light.src = “img/on.gif”;
// 获取h1标签对象 var title = document.getElementById(“title”); alert(“我要换内容了”); // 修改内容 title.innerHTML = “不识妻美刘强东”;
<a name="IpKSY"></a>
### 三、操作Element对象
- 修改属性值
- 明确获取的对象是哪一个?
- 查看API文档,找其中有哪些属性可以设置
- 修改标签体内容
- 属性:innerHTML
- 获取元素对象
- 使用innerHTML属性修改标签体内容
<a name="GLTI0"></a>
## 第三节 事件
<a name="C7Ca5"></a>
### 一、功能
- 某些组件被执行了某些操作之后,触发某些代码的执行。
造句:xxx被xxx,我就xxx。
- 我方水晶被摧毁后,我就责备队友。
- 敌方水晶被摧毁后,我就夸奖自己。
<a name="FzTzU"></a>
### 二、如何绑定事件
1. 直接在HTML标签上,指定事件的属性(操作),属性值就是JS代码(有分号)
1. 事件:onclick--单击事件
2. 通过JS代码获取元素对象,指定事件属性,设置一个函数
<a name="jDMYB"></a>
## 第四节 核心DOM模型
<a name="p1hZx"></a>
### 一、Document 文档对象
1. 创建(获取):在HTML DOM模型中可以使用Window对象来获取
1. window.document
1. document
2. 方法:
1. 获取Element对象:
1. getElementById():根据id属性值获取元素对象。id属性值一般唯一。
1. getElementsByTagName():根据元素名称获取元素对象们。返回值是一个数组。
1. getElementByClassName():根据Class属性值获取元素对象们。返回值是一个数组。
1. getElementsByName():根据name属性值获取元素对象们。返回值是一个数组。
2. 创建其他DOM对象:
1. createAttribute(name) 创建拥有指定名称的属性节点,并返回新的 Attr 对象。
1. createComment() 创建注释节点。
1. createElement() 创建元素节点。
1. createTextNode() 创建文本节点。
3. 属性
<a name="8gmMy"></a>
### 二、Element 元素对象
1. 创建(获取):通过document来获取和创建
1. 方法:
1. removeAttribute():删除属性
1. setAttribute():设置属性
<a name="E4mKm"></a>
### 三、Node 节点对象
1. 特点:所有DOM对象都可以被认为是一个节点
1. 方法:
1. CRUD DOM树
1. appendChild:向节点的子节点列表的结尾添加新的子节点。
1. removeChild:删除(并返回)当前节点的指定子节点。
1. replaceChild:用新节点替换一个子节点。
3. 属性:
1. parentNode:返回当前节点的父节点。
<a name="i9G0v"></a>
## 第五节 HTML DOM
1. 标签体的设置和获取:innerHTML
1. 使用html元素对象的属性
1. 控制样式
1. 使用元素的style属性来设置
// 修改样式方式1 div1.style.border = “1px solid red”;
div1.style.width = “200px”;
// font-size —> fontSize div1.style.fontSize = “20px”;
2. 提前定义好类选择器的样式,通过元素的className属性来设置其class属性值
div2.className = “d1”; ```
第六节 事件监听机制
一、概念
- 概念:某些组件被执行了某些操作后,触发某些代码的执行。
- 点击事件:
- onclick:单击事件
- ondbclick:双击事件
- 焦点事件:
- onblur:失去焦点
- 一般用于表单校验
- onfocus:元素获得焦点
- onblur:失去焦点
- 加载事件
- onload:一张页面或一幅图像完成加载
- 鼠标事件
- onmousedown 鼠标按钮被按下。
- 定义方法时,定义一个形参,接收event对象
- event对象的button属性可以获取鼠标按钮键被点击了
- onmouseup 鼠标按键被松开。
- onmousemove 鼠标被移动。
- onmouseover 鼠标移到某元素之上。
- onmouseout 鼠标从某元素移开。
- onmousedown 鼠标按钮被按下。
- 键盘事件
- onkeydown 某个键盘按键被按下。
- onkeyup 某个键盘按键被松开。
- onkeypress 某个键盘按键被按下并松开。
- 选中和改变
- onchange 域的内容被改变。
- onselect 文本被选中。
- 表单事件
- onsubmit 确认按钮被点击。
- 可以阻止表单的提交
- 方法要返回false则表单被阻止提交
- 可以阻止表单的提交
- onreset 重置按钮被点击。
- onsubmit 确认按钮被点击。