6、BOM对象、事件对象、全局函数、DOM对象、event对象、location和history、document对象、表格隔行换色

1、note

ECMAScript

原始类型: string number undefined object boolean
		 ==  ===  typeof
Regex正则表达式类型  /^...$/
	test(string)
Array数组类型   [1,2,3] new Array(length)  new Array(ele1, ele2...)
	length
Function函数类型  function fun1() {} 
	var fun1 = function() {}

DOM对象: img input button form

document.getElementById(id)
document.getElementsByClassName(class)
属性: src  value  innerHTML  innerText  style.cssXX

BOM对象: window

alert()
setInterval() clearInterval()
setTimeout() clearTimeout()

事件:

  onclick  onmouseover  onmouseout  onsubmit  onblur

this对象:

<input onclick="fun1(this)">
<script>this-window</script>
<script>
	input.onclick = function() {
		this - input
	}
</script>

BOM对象

Window

 Window: 获得其他的BOM对象, 以及Document对象, window对象可以省略
 window.document  window.history  window.location
 document		  history		  location

弹窗

	alert()	显示带有一段消息和一个确认按钮的警告框。
	confirm()	显示带有一段消息以及确认按钮和取消按钮的对话框。
	prompt()	显示可提示用户输入的对话框。

### 计时器	
	setInterval()	按照指定的周期(以毫秒计)来调用函数或计算表达式。
	setTimeout()	在指定的毫秒数后调用函数或计算表达式。
	clearInterval()	取消由 setInterval() 设置的 timeout。
	clearTimeout()	取消由 setTimeout() 方法设置的 timeout。

### 窗口开关	
	open()	打开一个新的浏览器窗口或查找一个已命名的窗口。
	close()	关闭浏览器窗口。

Location: href

History: (了解)

history.back() 方法加载历史列表中前一个 URL。
history.forward() 方法加载历史列表中下一个 URL。
go(1) -> history.forward()
go(-1) -> history.back()

事件对象

preventDefault()	通知浏览器不要执行与事件关联的默认动作。
stopPropagation()	不再派发事件。

全局函数

decodeURI()	解码某个编码的 URI。
encodeURI()	把字符串编码为 URI。

eval()	计算 JavaScript 字符串,并把它作为脚本代码来执行。

isNaN()	检查某个值是否是数字。

parseFloat()	解析一个字符串并返回一个浮点数。
parseInt()	解析一个字符串并返回一个整数。

DOM对象:

Document 文档

获得  getElementById(id)
	 getElementsByClassName(class值)
	 getElementsByTagName(标签名)
	 getElementsByName(name属性的值)
创建  createElement(标签名)	 

Element 标签

追加  父节点.appendChild(子节点)
	 子节点.insertBefore(另一个子节点)
属性  innerText  innerHTML
属性	 标签自带属性  src style href value checked....
操作属性	 setAttribute(属性名, 属性值)
		 getAttribute(属性名)

Attribute 属性

TextNode 文本

 tr.childNodes (包含标签和文本)
	<tr> <td>1</td><td>张三</td> <td>20</td> <td>中国计量大学</td></tr>
	NodeList(9) [ #text, td, #text, td, #text, td, #text, td, #text ]

2、window对象

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>window对象</title>
		<script>
			alert("普通弹窗")
			// var conf = confirm("确认弹窗")
			console.log(conf); // true false
			
			// var msg = prompt("输入弹窗"); // 点击确认获得输入框中的值
			console.log(msg); // 点击取消, 获得null值
			
			// open("http://www.baidu.com"); // 在新的标签页打开网页
			function toBack() {
				// history.back();
				history.go(-1)
			}
		</script>
	</head>
	<body>
		<button onclick="toBack()">回退</button>
	</body>
</html>

在这里插入图片描述

3、location和history

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>location和history</title>
		<script>
			// 设置/获取  当前页面的地址 url
			// location.href = "http://www.baidu.com";
			console.log(location.href); // url不支持中文以及空格 -> 编码变成 %16进制
			
			function toForward() {
				// history.forward()
				history.go(1)
			}
			
		</script>
	</head>
	<body>
		<a href="01_Window对象.html">to_window对象.html</a>
		<button onclick="toForward()">前进</button>
	</body>
</html>

在这里插入图片描述

4、document对象、表格隔行换色

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表格隔行换色</title>
		<script>
			onload = function() {
				document.getElementById("tab"); // 只能获得第一个对应id的元素
				document.getElementsByClassName("cls1"); // 获得所有class值是cls1的元素, 数组
				// 根据标签名获得对应元素 - 数组
				var arr1 = document.getElementsByTagName("input");
				console.log(arr1)
				
				// 根据name属性的值获得对应元素 - 数组
				var arr2 = document.getElementsByName("name1");
				console.log(arr2)
				
				// 根据标签名创建标签 - 空标签
				var tr = document.createElement("tr"); // <tr></tr>
				
				var td1 = document.createElement("td");
				var td2 = document.createElement("td");
				var td3 = document.createElement("td");
				var td4 = document.createElement("td");
				var td5 = document.createElement("td");
				// 将td1添加到tr标签中
				tr.appendChild(td1);
				tr.appendChild(td2);
				tr.appendChild(td3);
				tr.appendChild(td4);
				tr.appendChild(td5);
				console.log(tr);
				
				// td1 中添加文本
				td1.innerHTML = '<input type="checkbox" />'
				td2.innerText = 2;
				
				document.getElementById("tab").tBodies[0].appendChild(tr);
			}
		</script>
	</head>
	<body>
		<table align="center" border="1" cellspacing="0" width="500"
			   height="300" id="tab" >
			   <caption>学员信息表</caption>
			<thead>
				<tr>
					<th><input type="checkbox" /></th>
					<th>序号</th>
					<th>姓名</th>
					<th>年龄</th>
					<th>学校</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td><input type="checkbox"/></td>
					<td name="name1">1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td><input type="checkbox"/></td>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td><input type="checkbox"/></td>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td><input type="checkbox"/></td>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td><input type="checkbox"/></td>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td><input type="checkbox"/></td>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td><input type="checkbox"/></td>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td><input type="checkbox"/></td>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td><input type="checkbox"/></td>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
			</tbody>
		</table>
	</body>
</html>

在这里插入图片描述

5、event对象

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>event对象</title>
		<style>
			div{
				border: 1px solid red;
			}
			#div1 {
				width: 200px;
				height: 200px;
			}
			#div2 {
				margin:auto ;
				width: 100px;
				height: 50px;
			}
		</style>
		<script>
			onload = function() {
				
			}
			function clickA() {
				alert("a");
				// 阻止标签的默认行为
				event.preventDefault()
			}
			function clickDiv1() {
				alert("div1");
			}
			function clickDiv2() {
				alert("div2");
				// 阻止事件的派发
				event.stopPropagation()
			}
		</script>
	</head>
	<body>
		<!-- 添加单击事件, 想要阻止原来浏览器的行为 -->
		<a onclick="clickA()" href="案例一表格隔行换色.html">表格隔行换色</a>
		
		<a onclick="clickA()" href="javascript:void(0)">表格隔行换色</a>
		
		<!-- 派发事件 -->
		<div id="div1" onclick="clickDiv1()">
			1
			<div id="div2" onclick="clickDiv2()">2</div>
		</div>
		
	</body>
</html>

在这里插入图片描述

6、全局函数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>全局函数</title>
		<script>
			var url = "http://127.0.0.1:8848/WEB/day04_JS/案例三:省市二级联动.html";
			
			// 编码 - %16进制 (中文+空格)
			var encodeURL = encodeURI(url);
			console.log(encodeURL);
			
			// 解码 - 还原到中文
			var decodeURL = decodeURI(encodeURL);
			console.log(decodeURL);
			
			console.log("1+2");
			
			// 将参数字符串, 作为一个JavaScript代码来执行
			// 78 + 23 * 34 = 
			var e = eval("78 + 23 * 34");
			console.log(e)
			
			// Not a Number
			console.log(isNaN("12a")); // 数字-false  非数字-true
			
			console.log("12a" / 2); // NaN
			
		</script>
	</head>
	<body>
	</body>
</html>

在这里插入图片描述

7、DOM对象

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>DOM对象</title>
		<script type="text/javascript">
			onload = function() {
				var tr1 = document.getElementById("tr1");
				var arr = tr1.childNodes;
				console.log(arr)
			}
		</script>
	</head>
	<body>
		<table align="center" border="1" cellspacing="0" width="500"
			   height="300" id="tab" >
			   <caption>学员信息表</caption>
			<thead>
				<tr>
					<th>序号</th>
					<th>姓名</th>
					<th>年龄</th>
					<th>学校</th>
				</tr>
			</thead>
			<tbody>
				<tr id="tr1">
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
				<tr>
					<td>1</td>
					<td>张三</td>
					<td>20</td>
					<td>中国计量大学</td>
				</tr>
			</tbody>
			
		</table>
	</body>
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值