JavaWeb——JavaScript
一、JavaScript
1. JavaScript介绍
- 它运行在客户端,需要运行浏览器来解析执行JavaScript代码。
- 交互性(信息的动态交互)。
- 安全性(不允许直接访问本地硬盘)。
- 跨平台性(只要是可以解释JS的浏览器都可以执行,和平台无关)。
2. JavaScript和HTML代码的结合方式
2.1 第一种:在head或body标签中书写JS代码
1 |
|
2.2 第二种:使用script标签引入单独的JS代码文件
3. 变量
- JavaScript的变量类型:
- 数值类型:number。
- 字符串类型:string。
- 对象类型:object。
- 布尔类型:boolean。
- 函数类型:function。
- JavaScript里特殊的值:
- undefined:未定义,所有js变量未赋于初始值的时候,默认值都是undefined。
- null:空值。
- NaN:全称是:Not a Number。非数字。非数值。
- JS中的定义变量格式:
var 变量名;
var 变量名 = 值;
- typeof()是JavaScript语言提供的一个函数。
1 |
|
4. 关系(比较)运算符
- 等于:==等于是简单的做字面值的比较。
- 全等于:===除了做字面值的比较之外,还会比较两个变量的数据类型。
1 |
|
5. 逻辑运算
- 且运算:
&&
,或运算:||
,取反运算:!
。 - 在JavaScript语言中,所有的变量,都可以做为一个boolean类型的变量去使用。
- 0、null、undefined、
””
(空串)都认为是false。 - &&且运算,有两种情况:
- 第一种:当表达式全为真的时候。返回最后一个表达式的值。
- 第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值。
- ||或运算,有两种情况:
- 第一种情况:当表达式全为假时,返回最后一个表达式的值。
- 第二种情况:只要有一个表达式为真。就会返回第一个为真的表达式的值。
- &&与运算和||或运算有短路。短路就是说,当这个&&或||运算有结果了之后,后面的表达式不再执行。
1 |
|
6. 数组
- 数组定义方式:
var 数组名 = []; // 空数组
。var 数组名 = [1 , ’abc’ , true]; // 定义数组同时赋值元素
。
1 |
|
7. 函数
7.1 第一种:function 函数名(形参列表) {函数体}
1 |
|
7.2 第二种:var 函数名 = function(形参列表) {函数体}
1 |
|
- 在Java中函数允许重载。但是在JS中函数的重载会直接覆盖掉上一次的定义。
1 |
|
7.3 函数的arguments隐形参数(只在function函数内)
- 就是在function函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。
1 |
|
8. JS中的自定义对象
8.1 Object形式的自定义对象
1 |
|
8.2 {}花括号形式的自定义对象
1 |
|
9. JS中的事件
9.1 常用的事件
- onload加载完成事件:页面加载完成之后,常用于做页面js代码初始化操作。
- onclick单击事件:常用于按钮的点击响应操作。
- onblur失去焦点事件:常用用于输入框失去焦点后验证其输入内容是否合法。
- onchange内容发生改变事件:常用于下拉列表和输入框内容发生改变后操作。
- onsubmit表单提交事件:常用于表单提交前,验证所有表单项是否合法。
9.2 事件的分类
- 什么是事件的注册其实就是告诉浏览器,当事件响应后要执行哪些操作代码,叫事件注册或事件绑定。
- 事件的注册又分为静态注册和动态注册两种:
- 静态注册事件:通过HTML标签的事件属性直接赋于事件响应后的代码,这种方式我们叫静态注册。
- 动态注册事件:是指先通过js代码得到标签的dom对象,然后再通过dom对象.事件名 = function(){} 这种形式赋于事件响应后的代码,叫动态注册。
9.3 onload加载完成事件
1 |
|
9.4 onclick单击事件
1 |
|
9.5 onblur失去焦点事件
1 |
|
9.6 onchange内容发生改变事件
1 |
|
9.7 onsubmit表单提交事件
1 |
|
10. DOM模型
- DOM全称是Document Object Model文档对象模型。大白话就是把文档中的标签,属性,文本,转换成为对象来管理。
- Document它管理了所有的HTML文档内容。
- Document它是一种树结构的文档。有层级关系。
- 它让我们把所有的标签都对象化。
- 我们可以通过Document访问所有的标签对象。
11. Document对象中的方法介绍
document.getElementById(elementId)
:通过标签的id属性查找标签dom对象,elementId是标签的id属性值。document.getElementsByName(elementName)
:通过标签的name属性查找标签dom对象,elementName标签的name属性值。document.getElementsByTagName(tagname)
:通过标签名查找标签dom对象。tagname是标签名。document.createElement(tagName)
:通过给定的标签名,创建一个标签对象。tagName是要创建的标签名。- 注:document对象的三个查询方法,如果有id属性,优先使用getElementById方法来进行查询;如果没有id属性,则优先使用getElementsByName方法来进行查询;如果id属性和name属性都没有最后再按标签名查getElementsByTagName以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象。
11.1 getElementById方法示例代码
1 |
|
11.2 getElementsByName方法示例代码
1 |
|
11.3 getElementsByTagName方法示例代码
1 |
|
11.4 createElement方法示例代码
1 |
|
11.5 节点的常用属性和方法
- 通过具体的元素节点调用getElementsByTagName()方法,获取当前节点的指定标签名孩子节点。
- appendChild(oChildNode)方法,可以添加一个子节点,oChildNode是要添加的孩子节点。
- childNodes属性,获取当前节点的所有子节点。
- firstChild属性,获取当前节点的第一个子节点。
- lastChild属性,获取当前节点的最后一个子节点。
- parentNode属性,获取当前节点的父节点。
- nextSibling属性,获取当前节点的下一个节点。
- previousSibling属性,获取当前节点的上一个节点。
- className用于获取或设置标签的class属性值。
- innerHTML属性,表示获取/设置起始标签和结束标签中的内容。
- innerText属性,表示获取/设置起始标签和结束标签中的文本。
1 |
|
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.