第二章 JavaScript操作BOM对象

BOM:浏览器对象模型

           BOM提供了独立于内容的、可以与浏览器窗口进行互动的对象结构

                    

window对象

           prompt( ):  输入框

           alert( ):  提示框

           confirm( ):  确定框

           close( ):  关闭

           open( ):  打开

           setTimeout( ):  在指定毫秒后开始操作

           setInterval( ):  按照指定的周期毫秒进行操作

 

history对象

           back( ):加载前一个url

           forward( ):加载下一个url

           go( ):加载指定url

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript">
			function forwardPage(){
				history.forward();
				history.go(1);
			}
		</script>
	</head>

	<body>
		<h1>页面1</h1>
		<a href="D3.html">页面2超链接</a>
		<br />
		<a href="#" onclick="forwardPage()">forWord:下一个页面</a>
		
		
	</body>

</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript">
			function backPage(){
				history.back();
				history.go(-1);
			}
			
			function show(){
				history.go(0);
			}
			
		</script>
	</head>
	<body >
		<h1>页面2</h1>
		<a href="#"	onclick="backPage()">back:上一个页面</a>
		<br />
		<a href="#" onclick="show()">刷新</a>
	</body>
</html>

 

location对象

           href:设置或返回url

           reload(  ):重新加载

           replace(  ):替换当前文档

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>location对象</title>
		<script type="text/javascript">
				function show(){
					location.href = "ok.html"
					//location.reload();
					//location.replace("ok.html");
				}
		</script>
	</head>
	<body >
		<input value="点我啊" onclick="show()" type="button"/>
	</body>
</html>

 

Document对象

          getElementById()  返回对拥有指定id的第一个对象的引用

          getElementsByName():  返回带有指定名称的对象的集合

          getElementsByTagName():  返回带有指定标签名的对象的集合

          write():  向文档写文本、HTML表达式或JavaScript代码

value:访问的是标签的value属性的值

innerHTML:访问的是标签层内的内容

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript">
			function show1() {
				//1.通过ID属性获取文本框
				var ele1 = document.getElementById("one");
				//2.通过标签.value获取文本框里面的数据
				alert(ele1.value);
			}
			
			function show2(){
				var msg1 = document.getElementsByTagName("input");
				alert(msg1.length);
			}
			
			function show3(){
				var msg2 = document.getElementsByName("a");
				alert(msg2.length);
			}
		</script>
	</head>

	<body>
		<input id="one" type="text" value="123"/><br/>
		<input type="text" name="a" /><br/>
		<input type="text" name="a" /><br/>
		<input type="text" name="a" /><br/>
		<input type="text" name="a" /><br/>

		<input type="button" value="getElementById" onclick="show1()" /><br/>
		<input type="button" value="getElementsByTagName" onclick="show2()" /><br/>
		<input type="button" value="getElementsByName" onclick="show3()" /><br/>

	</body>

</html>
<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title>innerHTML</title>
		<script type="text/javascript">
			function show() {
				//1.获取div标签
				var dd = document.getElementById("mydiv");
				//2.改变图层
				//alert(dd.innerHTML);
				dd.innerHTML = "欢迎关注!";
			}
		</script>
	</head>

	<body>

		<div id="mydiv" style="font-size: 50px;font-weight: bold;">墨渐生微</div>
		<hr />
		<input type="button" value="变" onclick="show()" />
	</body>

</html>

 

screen对象

<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript">
			document.write("客户端屏幕的宽度:" + screen.width + "<br/>");
			document.write("客户端屏幕的高度:" + screen.height + "<br/>");
			document.write("<hr/>");
			document.write("客户端屏幕的宽度(不含任务栏):" + screen.availWidth + "<br/>");
			document.write("客户端屏幕的高度(不含任务栏):" + screen.availHeight);
		</script>

	</head>

	<body>

	</body>

</html>

 

计时器函数

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>setInterval函数</title>
		<script type="text/javascript">
			function showTime() {
				var time = new Date(); //获取系统当前时间
				document.write(time + "<br/>");
				window.onkeypress = function() {
					//触发键盘按键事件,清除事件定时器函数
					clearInterval(flag);
				}
			}
			//每隔1000毫秒调用showTime()函数
			var flag = setInterval(showTime, 1000);
		</script>
	</head>

	<body>
	</body>

</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title> setTimeout函数</title>
		<script type="text/javascript">
			function show() {
				//1.获取系统当前时间
				var time = new Date();
				//2.获取div
				var dd = document.getElementById("mydiv");
				//3.存入div
				dd.innerHTML = time;
			}
			//创建定时函数;3000毫秒之后调用show函数
			var aa = setTimeout(show, 3000);

			function cl() {
				//关闭计时器函数
				clearTimeout(aa);
			}
		</script>
	</head>
	<!--网页加载事件-->
	<body onload="show()">
		<div id="mydiv"></div>
		<input type="button" value="close" onclick="cl()" />
	</body>
</html>

 

JavaScript内置对象

          Array:用于在单独的变量名中存储一系列的值

          String:用于支持对字符串的处理

          Math:用于执行常用的数学任务,它包含了若干个数字常量和函数

          Date:用于操作日期和时间

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>Date对象</title>
		<script type="text/javascript">
			/*****************获取系统当前时间*****************/
			var time = new Date();
			document.write(time);
			document.write("<br/>");
			document.write("<br/>");
			/*****************获取系统当前时间*****************/
			document.write(time.getFullYear());
			document.write("<br/>");
			document.write(time.getMonth() + 1);
			document.write("<br/>");
			document.write(time.getDate());
			document.write("<br/>");
			document.write(time.getDay());
			document.write("<br/>");
			document.write(time.getHours());
			document.write("<br/>");
			document.write(time.getMinutes());
			document.write("<br/>");
			document.write(time.getSeconds());
			document.write("<br/>");
		</script>
	</head>

	<body>

	</body>

</html>
<!DOCTYPE html>
<html>

	<head lang="en">
		<meta charset="UTF-8">
		<title>字符串操作</title>
		<script type="text/javascript">
			window.onload = function() {
				/***************************字符串***************************/
				var str = "但使龙城飞将在,不叫胡马度阴山";
				//根据下标,获取对应的字符
				var result1 = str.charAt(2);
				document.write(result1+ "<br/>");
				//查找指定字符串
				//如果不存在,返回-1
				var result2 = str.indexOf("龙王")
				document.write(result2 + "<br/>");
				//如果存在,返回其具体的下标
				var result3 = str.indexOf("龙城")
				document.write(result3+ "<br/>");
				//获取字符串的长度
				document.write(str.length+ "<br/>");
				//连接字符串,产生新字符串
				str = str.concat("!aaa");
				document.write(str+ "<br/>");
				//替换字符串中的指定字符串
				str = str.replace("胡马","条子");
				document.write(str+ "<br/>");
				//根据指定字符串,对原字符串进行切割
				var content = str.split(",");
				document.write(content[0]+"<br/>");
				document.write(content[1]+"<br/>");
				//根据起始下标以及长度,进行字符串的截取
				var result = str.substr(2,5);
				document.write(result+ "<br/>");
			};
		</script>
	</head>

	<body>
	</body>

</html>
<!DOCTYPE html>
<html>

	<head lang="en">
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*******************数组***********************/
			//方式1
			//var names = ['宋江','卢俊义','晁盖','吴用','林冲','王伦'];
			//方式2
			//var names = new Array(6);
			//names[0] = '宋江';
			//.....
			//方式3
			var names = new Array('宋江', '卢俊义', '晁盖', '吴用', '林冲', '王伦');
			document.write("数组的长度:" + names.length);
			document.write("<ul>");
			for (var i = 0; i < names.length; i++) {
				document.write("<li>" + names[i] + "</li>");
			}
			document.write("</ul>");
			/*******************数组***********************/
			var arr = ["aaa", "bbbb", "ccc", "dddd", "ffff"];
			//方法1 使用for循环语句读取
			for (var i = 0; i < arr.length; i++) {
				document.write(arr[i] + "<br/>");
			}
			//方法2  使用for in 循环语句读取
			// arr = window.navigator; 如果是一个未知的数值,且不是索引下标,还可以打印出下标
			for (var x in arr) {
				document.write(x + "=====>" + arr[x] + "<br/>");
			}
			/*******************hash表***********************/
			//hash表
			var names = {
				'及时雨': '宋江',
				'玉麒麟': '卢俊义',
				'花和尚': '鲁智深'
			};
			for (var key in names) {
				document.write(key + "-->" + names[key] + "<br/>");
			}
			document.write("<hr/>");
			document.write("<b>" + names['花和尚'] + "</b>");
		</script>
	</head>

	<body>

	</body>

</html>
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        var arr = ["aaa","eee","ffff","ccc"];
		// lenght 得到数组的长度
		var len = arr.length; 
		document.write("数组的长度为:"+ len);
		document.write("<br/>");

		//向数组里面添加一个成员 "gggg" ,返回新的长度
		var  index  = arr.push("gggg");
		document.write("push()后新数组的长度为:"+ index);
		document.write("<br/>");

		//把数组用字符 "-"连接起来
		var  str_arr =  arr.join("-");   
		document.write("把数组用字符 "-"连接起来:"+str_arr); 
		document.write("<br/>");
		
		//把数组进行排序,默认按照字符编码
		arr.sort();
		document.write("把数组进行排序后"+arr+"<br/>");
	 
		//下面定义一个新的数组

		var arr = new Array(6)
		arr[0] = "10";
		arr[1] = "5";
		arr[2] = "40";
		arr[3] = "25";
		arr[4] = "1000";
		arr[5] = "1";
 
		document.write("数组:"+arr+ "<br />")
		document.write("默认排序后:"+arr.sort()+ "<br />") 
	    //如果是数字排序则需要加入一个比较函数 
		document.write("加入排序函数后:"+arr.sort(function(a,b){
			return a-b;
		}))


    </script>
</head>
<body>

</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值