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.




