JavaScript部分
1.JavaScript 介绍
JavaScript 语言诞生主要是完成页面的数据验证。因此它在运行客户端,需要运行浏览器来解析执行 JavaScript 代码。
JS 是 Netscape 网景公司的产品,最早取名为 LiveScript ; 为了吸引更多 Java程序员。 更名为 JavaScript
JS 是弱类型, Java 是强类型。
特点:
1.交互性(它可以做的就是信息的动态交互)
2.安全性(不允许直接访问本地硬盘)
3.跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)
2.JavaScript 和 html 代码的结合方式
第一种方式:
只需要在 head 标签中 或者 在 body 标签中 使用 script 标签 来书写 JavaScript 代码
<head>
<script type = "text/javascript">
alert();
</script>
</head>
第二种方式:
写在一个单独的 JS 文件中
3.变量
JavaScript 的变量类型
数值类型
字符串类型
对象类型
布尔类型
函数类型
JavaScript 里的特殊值
undefined 未定义,所有 JS 变量未赋于初始值的时候,默认值 都是 undefined
null 空值
NAN 全称是:Not a number 非数字,非数值
JS 中的定义变量的格式:
var 变量名;
var 变量名 = XXX;
JS中关系(比较)运算
大于(>) 大于等于 (>=)
等于: ==
全等于: ===
数组 (重点)
数组定义方式:
js 中数组的定义:
格式:
var 数组名 = [] ; // 空数组
var 数组名 = [1,‘abc’,true]; //定义数组同时赋值元素
函数(重点)
函数的两种定义方式
第一种,可以使用 function 关键字来定义函数。
使用格式如下:
function 函数名(形参列表){
函数体
}
第二种,可以直接使用 var 定义
使用格式如下:
var 函数名 = function(形参列表){
函数体
}
注意!!!! 在 JS 中的重载会覆盖上一次定义
隐形参数 arguments
就是在 function 函数中不需要定义,但却可以直接用来获取所有参数的变量
JS中的自定义对象(扩展)
-
Object 形式的自定义对象
对象的定义:
var 变量名 = new Object(); //对象示例 (空对象)
变量名.属性名 = 值; //定义一个属性
变量名.函数名 = function() { } //定义一个函数对象的访问:
变量名.属性/函数名(); -
花括号形式的自定义对象
var 变量名 = {
属性名:值
};
JS中的事件
什么是事件?事件是电脑输入设备与页面进行交互的响应。我们称之为事件。
常用的事件:
onload 加载完成事件 页面加载完成之后,常用于做页面 js 代码初始化操作
onclick 点击事件 常用于按钮的点击响应操作
onblur 失去焦点事件 常用于输入框失去焦点后验证其输入内容是否合法
onchange 内容发生改变事件 常用于下拉列表和输入框内容发生改变后操作
onsubmit 表单提交事件 常用于表单提交前,验证所有表单项是否合法操作
事件的注册又分为静态注册和动态注册两种:
事件的注册(绑定) 就是告诉浏览器当事件响应后要执行哪些操作代码,叫事件注册或事件绑定
静态注册:通过 html 标签的事件属性直接赋于事件响应过后的代码,这种方式就是静态注册
动态注册:先通过 JS 代码得到标签的 dom 对象,然后通过 dom 对象.事件名 = { } 这种形式赋于事件响应 后的代码,叫动态注册
动态注册基本步骤:
1、获取标签对象
2、标签对象.事件名 = function(){ }
//动态注册固定写法
window.onload = function (){
alert("动态注册onload事件");
}
window.onclick = function (){
//1.获取标签对象
var btnobj = document.getElementById("btn"); //返回值是一个对象
//2.通过标签对象.事件名 = function(){}
btnobj.onclick = function (){
alert('动态注册的onclick事件');
}
}
return false 可以阻止表单提交
DOM模型(重点)
DOM 全称是 Document Object Model 文档对象模型
大白话,就是把文档中的标签,属性,文本,转换成为对象来管理。
那么 它们是如何实现把标签,属性,文本转换成为对象来管理呢
!!!Document 对象(重点)
Document 对象的理解:
1.Document 它管理了所有的 Html 文档内容
2.Document 它是一种树结构的文档。有层级关系
3.它让我们把所有标签 都 对象化
4.我们可以通过 Document 访问所有的标签对象
Document 对象中的方法介绍(重点)
- document.getElementById(elementId)
通过标签的 id 属性查找标签 dom 对象, elementId 是标签的 id 属性值 - document.getElementByName(elementName)
通过标签的 name 属性查找标签 dom 对象,elementName 标签的 name 属性值 - document.getElementByTagName(tagName)
通过标签名的查找标签 dom 对象。tagName 是标签名 - document.createElement(tagName)
通过给定的标签名,创建一个标签对象。tagName 是要创建的标签名
//判断用户名并有提示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>7月17日</title>
<script type="text/javascript">
function on1() {
var value = document.getElementById("in");
var jud = value.value;
var patt = /^\w{5,12}$/;
var span1 = document.getElementById("ju");
if(patt.test(jud)){
span1.innerHTML = "用户名合法";
}else{
span1.innerHTML = "用户名不合法";
}
}
</script>
</head>
<body>
用户名:<input type="text" value="wzg" id="in">
<span style="color: red" id="ju"></span></br>
<button onclick="on1()">验证</button>
</body>
</html>
Document 对象的三个查询方法注意事项
查询方法的优先顺序是:
如果有 id 属性,优先使用 getElementById 方法来进行查询
如果没有 id 属性,则优先使用 getElementByName 方法来查询
如果 id name 属性 都没有 再用 getElementByTagName 方法来查询
以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象
节点的常用属性和方法
节点就是标签对象
方法:
通过具体的元素结点调用
getElementByTagName ( )
获取当前节点的指定标签名孩子节点
appendChild ( oChildNode )
可以添加一个子节点,oChildNode 是要添加的孩子节点
属性:
childNodes
获取当前节点的所有子节点
firstChild
获取当前节点的第一个子节点
lastChild
获取当前节点的最后一个子节点
parentNode
获取当前节点的父节点
nextSibling
获取当前节点的下一个节点
previousSibling
获取当前节点的上一个节点
className
用于获取或设置标签的 class 属性值
innerHTML
表示 标签起始和结束标签中的内容
innerText
表示 标签起始和结束标签中的文本