6.18JavaScript基础

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>基础01</title>
	</head>
	<body>
		<span id="time"></span>
	</body>
	<script type="text/javascript">
		//JS中常用的两个输出函数
		//在网页中输出
		document.write("你好啊,Java");
		//弹出一个窗口显示输出内容
		alert("你好啊,Java");
		
		
//			关于JavaScript的变量的定义
//			var 变量名= 值;
//			
//			
//			注意:
//				1)在js中,var可以用来定义任何数据类型的变量,var 可以省略,但是不建议省略
//				2)var是可以重复定义变量的(后面的值会覆盖掉前面的值),是因为JavaScript弱类型语言,而Java是一种强类型语言
//				3)如果定义一个变量,但是变量没有值,那么值(undefind),没有定义的变量不能直接使用!
//				
//				查看一个变量的数据类型,使用一个函数:typeOf(变量名)
//				
//				Javascript数据类型:
//						在javascript,数据类型变量名的值来决定的!	
//					1)不管是整数还是小数都是number类型!
//					2)不管是字符还是字符串,都是string类型			String:在js中表示字符串对象
//					3)boolean类型
//					4)object   :对象类型
		document.write("<br/>");
		var num1 = 10;//整数
		var num2 = 10.11;//小数
		document.write("num1="+num1+"  num1的类型是"+typeof(num1)+"<br/>");
		document.write("num1="+num2+"  num2的类型是"+typeof(num2)+"<br/>");
		var char = 'A';//字符
		var str = "apple";//字符串
		document.write("char="+char+"  char的类型是"+typeof(char)+"<br/>");
		document.write("str="+str+"  str的类型是"+typeof(str)+"<br/>");
		var flag = false;//布尔类型
		document.write("flag="+flag+"  flag的类型是"+typeof(flag)+"<br/>");
		var obj = new Object();//对象类型
		document.write("obj="+obj+"  obj的类型是"+typeof(obj)+"<br/>");
		document.write("<hr/>");
		
		
		//类型转换函数
		var num3 = "110";
		document.write("num3转换前类型"+typeof(num3));
		document.write("<br/>")
		num3 = parseInt(num3);
		document.write("num3="+num3+"<br/>");
		document.write("num3转换后类型"+typeof(num3));
		document.write("<br/>");
		document.write("<hr/>");
		
		var num3 = "110.11";
		document.write("num3转换前类型"+typeof(num3));
		document.write("<br/>")
		num3 = parseFloat(num3);
		document.write("num3="+num3+"<br/>");
		document.write("num3转换后类型"+typeof(num3));
		document.write("<br/>");
		document.write("<hr/>");
		//运算符
			/**
			 * 算术运算符:+,-,* ,/.
			 * 比较运算符:>= ,<= ,<,>..
			 * 逻辑运算符:逻辑双与&&.逻辑双或||,逻辑非!
			 * 三元运算符:表达式? true的结果:false的结果;
			 * 
			 * 
			 * 注意:js中,true代表1,false代表0
			 */
		//流程语句
			/**
			 * if..,else..语句;
			 * switch语句;case后可以是常量,变量,表达式
			 * do...while..语句
			 * 增强for循环for(var 变量名 in 数组名称/对象名)
			 * with()语句
			 */
		//函数
			/**
			 * 函数的定义:
			 * 		function 函数名称(形式参数列表)//{
			 * 			//语句
			 * 			
			 * 		}
			 * 
			 * 函数的调用
			 * 		函数名称(实际参数列表) ;
			 * 
			 * 
			 * 函数中的注意事项:
			 * 	1)函数的形式参数不能有var关键字定义,否则报错
			 * 	2)在js中函数是可以有return语句的,直接return,但是没有返回值
			 * 	3)在js中,函数是不存在的重载概念,后面定义的函数回覆盖掉前面定义的函数
			 * 	4)当实际参数的数量小于形式参数的数量,就会出现一个值肯定是NaN;如果实际参数大于形式参数,那么最终会计算前面的值,然后将后面的数据丢弃掉!
			 *	5)在js的每一个函数中,里面存在默认的数组:arguments,它的作用就是将实际参数从左到右依次赋值给形式参数(从左到右)
			 * */
			function add(a,b){
				return a+b; 
			}
			document.write(add(10,20)+"<br/>");
			document.write("<hr/>");
		//常用对象(如同SE中的类)Number String Date Math
			/*
			 * 	js中String对象 的常用方法
				chatAt() :返回指定索引位置处的字符
				indexOf():表示某个子字符串在当前字符串中第一次出现的索引
				lastindexOf();
				fontColor():给当前字符串设置一个颜色标记
				substring(start,end):截取功能
			 */
			var str1 = new String("Java");
			var str2 = new String("Java");
			document.write((str1==str2)+"<br/>");//false
			document.write((str1.valueOf()==str2.valueOf())+"<br/>");//true  valueof比较对象的内容
			document.write(str1.charAt(1)+"<br/>");//a
			document.write(str1.indexOf("a")+"<br/>");//1
			document.write(str1.lastIndexOf("a")+"<br/>");//3
			document.write(str1.fontcolor("#00ff00")+"<br/>");//绿色Java
			document.write(str1.substring(1,3)+"<br/>");//av
			document.write("<hr/>");
			/*
			 *Js中常用的Math对象方法
			 * Math.ceil(num)向上取整
			 * Math.floor(num)向下取整
			 * Math.round(num)四舍五入
			 * Math.random()产生随机数[0,1)区间
			 * Math.max/min(num1....)返回多个数中的最大/小者
			 */
			var num = 1.12;
			document.write(Math.ceil(num)+"<br/>");//2
			document.write(Math.floor(num)+"<br/>");//1
			document.write(Math.round(num)+"<br/>");//1
			document.write(Math.random()+"<br/>");//0.7758340940272558
			document.write(Math.max(10,12,43,23,54,65,43)+"<br/>");//65
			document.write(Math.min(10,12,43,23,54,65,43)+"<br/>");//10
			document.write("<hr/>");
			/*
			 *Js中常用的Date方法
			 *使用Date对象打印一个时钟
			 */
			function newTime(){
				var date = new Date();
				var str = date.getFullYear()+"-"+date.getMonth()+"-"+date.getDate()+"  "+
				date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();
				//获取span标签对象
				var time = document.getElementById("time");
				//设置为文本属性
				time.innerHTML = str;
			}
			//定时器
			window.setInterval("newTime()",1000);//将显示在网页开头
	</script>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>基础02</title>
	</head>
	<body>
	</body>
	<script type="text/javascript">
		//Aarray对象
		/*JS中数组中可以存储各种类型的元素;
		 *而且不存在数组角标越界,可以自动的扩充数组
		 */
		//创建数组的方式
		//方式一
		var arr1 = new Array(3);//创建一个长度为3的数组
		var arr2 = [0,1,2,3,4];//直接指定数组中的元素,不需要new Array()
		//打印数组的长度,数组的length属性
		document.write(arr1.length+"<br/>");//3
		document.write(arr2.length+"<br/>");//5
		//Array中常用的方法
		/*
		 * join():将数组中的所有元素以一个符号进行拼接,返回一个新的字符串
		 * reverse 方法:将数组中的元素进行反转
		 */
		var arrString = arr2.join("-");
		document.write(arrString+"<br/>");
		//遍历数组使用for循环
		for(var i= 0;i<arr2.length;i++){
			document.write(arr2[i]+" ");
		}
		document.write("<br/>");
		//将数组进行翻转
		var arr3 = arr2.reverse();
		for(var i= 0;i<arr3.length;i++){
			document.write(arr3[i]+" ");
		}
		document.write("<hr/>");
		
		//自定义对象
		//创建自定义对象的方式:
		//方式一:类似于有参构造
		function Person(name,age){
			this.name = name;
			this.age = age;
			this.speak = function(){
				alert("这是说话功能");
			}
		}
		//创建该对象
		var p = new Person("李四",35);
		document.write(p.name+" "+p.age+"<br/>");
		p.speak();
		//方式二:类似于无参构造
		function Animal(){}
		var animal = new Animal();//创建对象
		//追加属性值
		animal.name = "老鼠";
		animal.age = 10;
		//追加方法
		animal.eat = function(){
			alert("这是吃的方法");
		}
		document.write(animal.name+" "+animal.age+"<br/>");
		animal.eat();
		//方式三: 利用Object对象 ,Object对象在js中代表任意对象的一个模板
		function Student(){}
		var s = new Object();
		//追加属性,追加方法
		//方式四:json解析
		var a = {
			"name" : "张三",
			"age" : 13,
			"sleep" : function(){
				alert("这是睡觉功能");
			}
		}
		document.write(a.name+" "+a.age+"<br/>");
		a.sleep();
		
		
		//原型
		/*
		 *	原型(prototype)
			作用:就是给js中的内置对象追加方法使用的
			1)每一个js内置对象都有一个原型属性(prototype)
			2)如果往原型对象中追加一个方法,那么这个方法会自动追加到内置对象中
			3)原型属性是可以直接被内置对象调用然后追加方法
		 */
		Array.prototype.max = function(){
			var a = this[0];
			for(var i= 0;i<this.length;i++){
				if(this[i]>a){
					a= this[i];
				}
			}
			return a;
		}
		var arr = [12,34,5,423,43];
		var s = arr.max();
		document.write(s);
	</script>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>基础03</title>
	</head>
	<body>
		<input type="button" value="open" onclick="testOpen()">
		<input type="button" value="setInterval" onclick="testSetInterval()">
		<input type="button" value="clearInterval" onclick="testClearInterval()">
		<input type="button" value="setTimeout" onclick="testSetTimeimeout()">
		<input type="button" value="clearTimeout" onclick="testClearTimeout()">
		<input type="button" value="alert" onclick="testAlert()">
		<input type="button" value="confrim" onclick="testConfrim()">
		<input type="button" value="prompt" onclick="testPrompt()">
		<hr/>
		<input type="button" value="href" onclick="testHref()">
		<input type="button" value="reload" onclick="testReload()">
	</body>
	<script type="text/javascript">
		//window对象
		/*
		 *window对象:它代表浏览器的一个窗口对象
			
			注意:
					由于window对象中的方法频繁调用,所以为了简化书写方式,有时候window可以去掉
			
				里面涉及的方法:
						open("打开资源文件url","以什么什么方式打开(_blank)/_self","指定新打开的窗口和高度")
						
				和定时器相关的方法:
				setInterval("任务",时间毫秒值); 没经过多少毫秒后重复执行这个任务
				clearInterval():取消和setInterval相关的任务
					window.clearInterval(iIntervalID)  :这个要插入一个Id
				setTimeout("任务",时间毫秒值);   经过多少毫秒后只执行一次
					clearTimeout():取消和setTimeout相关的超时事件
					
					
				和弹框相关的方法
				window.alert("提示框") ;  //window可以省略
				window.confirm("消息对话框");有确认框,取消框
				prompt:提示对话框,其中带有一条消息和一个输入框
		 */
		//常用方法测试
		function testOpen(){
			//打开一个页面
			window.open("广告.html");
		}
		var setID;
		function testSetInterval(){
			//每经过xx时间执行xx操作(执行多次)
			 setID = window.setInterval("testOpen()",2000);
		}
		function testClearInterval(){
			//清楚setInterval()操作,需要传入一个ID参数
			window.clearInterval(setID);
		}
		var timeoutID
		function testSetTimeimeout(){
			//在经过xx时间后执行xx任务(只执行一次)
			timeoutID = window.setTimeout("testOpen()",3000);
		}
		function testClearTimeout(){
			//清除setTimeout()操作
			window.clearTimeout(timeoutID);
		}
		function testAlert(){
			//弹出单项选择一个窗口,并显示内容
			window.alert("你好啊!");
		}
		function testConfrim(){
			//弹出一个双向选择窗口,根据客户选择返回一个boolean值
			var flag = window.confirm("您确定要删除吗?")
			if(flag){
				alert("删除数据");
			}else{
				alert("取消删除");
			}
		}
		function testPrompt(){
			//弹出一个带输入框的双向选择窗口,根据客户输入与选择返回一个boolean值
			var flag = window.prompt("请输入密码");
			if(flag){
				alert("登陆成功");
			}else{
				alert("请重新输入");
			}
		}
		
		
		//location对象:地址栏对象
		/*
			href属性:可以修改页面的href属性来实现页面跳转    	更改的href属性:--- URL(统一资源定位符)
																	 URI
			方法:
				定时刷新:reload()
		 */
		//常用属性及方法测试
		function testHref(){
			//将当前页面转化为目标页面
			window.location.href = "广告.html";
		}
		function testReload(){
			//刷新页面
			 window.location.reload();
		}
		//window.setTimeout("testReload()",1000);
		//这里虽然使用的setTimeout()方法,只执行一次,但是每当页面刷新,就有需要执行新的刷新方法
		//所以页面就在不同刷新
	</script>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>基础04前</title>
	</head>
	<body>
		<a href="基础04后.html">基础04后</a>
		<input type="button" value="forward" onclick="testForward()">
	</body>
	<script type="text/javascript">
		//history对象
		/*
		 *常用方法
		 * 		history对象中的方法
				forward:装入历史列表中下一个url
				back:装入历史列表中前一个url
				go(正整数或者负整数)
		 */
		function testForward(){
			//forward:装入历史列表中下一个url(首先要存在一个历史记录)
			//window.history.forward();
			window.history.go(1);
		}
		//screen对象:屏幕对象
		//属性 描述 
		//availHeight 获取系统屏幕的工作区域高度,排除 Microsoft® Windows® 任务栏。 
		//availWidth 
		
		document.write(screen.availHeight+"<br/>") ;//除去Microsoft® Windows® 任务栏的屏幕高度
		document.write(screen.height+"<br/>") ;//屏幕高
		document.write(screen.availWidth+"<br/>") ;//除去Microsoft® Windows® 任务栏的屏幕宽度
		document.write(screen.width+"<br/>") ;//屏幕宽
	</script>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type="button" value="back" onclick="testBack()">
	</body>
	<script type="text/javascript">
		function testBack(){
			//back:装入历史列表中前一个url
			//window.history.back();
			window.history.go(-1);
		}
	</script>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>事件分类</title>
		<style type="text/css">
			#div1{
				width: 100px;
				height: 100px;
				border: 1px solid #00F;
			}
		</style>
	</head>
	<body onload="testload()">
		省份:
		<select id="jiguan" onchange="testCity()">
			<option value="请选择">请选择</option>
			<option value="陕西">陕西</option>
			<option value="广东">广东</option>
			<option value="浙江">浙江</option>
		</select>
		城市:
		<select id="city"></select>
		<hr/>
		<br/><br/><br/><br/><br/>
		<div id="div1" onmouseover="OnMouseOver()" onmouseout="OnMouseOut()"></div>
	</body>
	<script type="text/javascript">
	function testCity(){
		//通过id属性值获取当前id="jiguan"的标签内容
		var jiguan = document.getElementById("jiguan").value;
		////获取id="city"所在的select标签对象
		var city = document.getElementById("city");
		//每一次选择前清除city内容,为了保证不叠加城市内容
		city.innerHTML = "";
		//判断
		if(jiguan=="陕西"){
			var arr = ["西安","宝鸡","咸阳"];
			for(var i = 0;i<arr.length;i++){
				//转换为html形式
				city.innerHTML += "<option value='"+arr[i]+"'>"+arr[i]+"</option>";
			}
		}
		if(jiguan=="广东"){
			var arr = ["广州","佛山","深圳"];
			for(var i = 0;i<arr.length;i++){
				city.innerHTML += "<option value='"+arr[i]+"'>"+arr[i]+"</option>";
			}
		}
		if(jiguan=="浙江"){
			var arr = ["杭州","温州","南京"];
			for(var i = 0;i<arr.length;i++){
				city.innerHTML += "<option value='"+arr[i]+"'>"+arr[i]+"</option>";
			}
		}
	}
	function OnMouseOver(){
		alert("鼠标经过了");
	}
	function OnMouseOut(){
		alert("鼠标移开了");
	}
	</script>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>广告</title>
	</head>
	<body>
		广告
	</body>
</html>







猜你喜欢

转载自blog.csdn.net/ws1995_java/article/details/80751877
今日推荐