Javascript整理笔记(第一节)

为什么需要JavaScript?

JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需 浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意!!
在这里插入图片描述
javaScript和java的联系
Javascript和java除了名字和语法有点像,其他没有任何的关系。主要做:富客户端开发。
做个比较是为了让大家更好地理解javascript,事实上,两个语言根本没有可比性,是完全不同的。
在这里插入图片描述

js 的声明

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>js的声明呵和引入</title>
		<!--声明js代码域-->
		<!--引入外部声明好的js文件-->
		<script src="js/my.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<h3>js的声明和引入</h3>
		<script type="text/javascript">
			alert("这是我的第一个js")
		</script>
	</body>
</html>
<!--
	js的声明学习:
		1、在head标签中使用script标签进行js代码域的声明
			<script type="text/javascript">
					alert("这是我的第一个js")
			</script>
			作用:
				声明js代码域
			特点:
				js的代码只会作用于当前网页
		2、在head标签中使用script标签引入外部声明好的js文件
			<script src="相对路径" type="text/javascript" charset="utf-8"></script>
			作用:引入外部声明好的js文件
			特点:
				实现js代码的重复使用,避免代码的冗余。
	注意:
		因为js在HTML文档中是一门单独的语言,可以声明在文档中的任意位置
		一般情况下声明在head标签中。
-->

js的变量

<html>
	<head>
		<title>js的变量学习</title>
		<meta charset="UTF-8"/>
		<!--
			js的变量声明学习:
				1、js中的所有变量声明只有var关键字。
					 var a=123;
					 var A=1234;
					 var a1=3.1415926;
					 var a2="js";
					 var a3='k';
					 var a4=true;
					 var a5=new Date();
					 alert(a);
				  注意:
				  	a、js的变量名是严格区分大小的。
				  	b、js中的字符串可以使用双引号也可以使用单引号。
					c、js中可以声明同名变量,不会报错,后面的会将前面的声明覆盖。(重要)
			 			 var a=123;
			 			 var a="js学习";
			 			  alert(a);
				2、中的数据类型
					数据类型判断关键字:typeof
					数据类型:
						number:数字类型
							var b=456;
							var b1=1.23;
							alert(typeof b1);
						string:字符串类型
							var b="今天天气真好,适合学习";
							var b1='l';
							alert(typeof b1);
						boolean:
							var b=true;
							var b1=false;
							alert(typeof b1);
						object
							var b=new Date();
							alert(typeof b);
						null:
							空对象赋值,主要是和undefined进行区分。
						Undefined:undefined
							var c;
							alert(typeof c);
							变量声明不赋值的情况下,默认值是undefined。
					注意:
						var d;
						alert(d);
						alert(typeof c);
						在js代码中尽可能的给声明的变量赋初始值;
					
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			/*js的变量学习*/
			 /*var a=123;
			 var A=1234;
			 var a1=3.1415926;
			 var a2="js";
			 var a3='k';
			 var a4=true;
			 var a5=new Date();
			 var a="js学习";
			 alert(a);*/
			/*js中的数据类型*/
			var d;
			alert(d);
			alert(typeof c);
		</script>
	</head>
	<body>
		<h3>js的变量学习</h3>
	</body>
</html>

Number.NaN 是一个特殊值,说明某些算术运算(如求负数的平方根)的结果不是数字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串时就返回这个值。对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用 Number.NaN 说明它的错误情况。请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。

<html>
	<head>
		<title>js中的变量强转</title>
		<meta charset="UTF-8"/>
		<!--
			js中的数据转换:
				其他类型转换为number 类型
					使用Number(其他类型的数据);
						string 类型的数字字符:	对应的number数字
						string 非数字字符:		NaN(number类型)
						boolean true:		1
						boolean false:		0
						object 有具体的值:		数字
						object null:		0	
					其他类型转换为boolean 类型
						使用Boolean(其他类型的数据);
						number 正数或者负数:		true
						number 0		:		false
						string  非空字符串 :		true
						string  空字符串 "":		false
						object  具体的对象  :   	true
						object  null    :       false
						声明不赋值的变量		:       false
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			/*声明变量*/
				/*var a="a";
				var b=1;
				var c=true
				var d=new Date();
				var d2=new Date();
				var d1=null;
				alert(Number(a));
				alert(typeof Number(a));	*/
			/*声明变量*/
				var a=123;
				var a1=-123
				var a2=0;
				var b="abcdf";
				var b1="";
				var d=new Date();
				var d1=null;
				var c;
				alert(Boolean(c));
				if(a){
					alert("哈哈");
				}
		</script>
	</head>
	<body>
		<h3>js中的变量强转</h3>
	</body>
</html>

在这里插入图片描述

js 的运算符和逻辑结构

<html>
	<head>
		<title>js的运算符学习</title>
		<meta charset="UTF-8"/>
		<!--
			js的运算符学习:	
				算术运算符:
					加法:+
					减法:-
					乘法:*
					除法:/
					余数:%
						number类型的和number类型的
						number类型和boolean类型(true--1,false--0)
						number类型和string类型(*,/,%,-)
						string类型和string类型的数字(*,/,%,-)
						string类型数字和boolean类型(*,/,%,-)
					在算术运算中如果两边的数据类型不是number的话,会使用Number()强转后在进行运算.
				字符串的加法会作为字符链接,不会运算。
					注意:
					在字符串中“+”符合代表的是字符串的连接符,不会参与运算
				逻辑运算符:
					!  & && | || (与java中的一致);
					var a=true;
					var b=true;//false
					alert(a&b);
					if(a&b){
						alert("haha");
					}
				关系运算符:返回值为true 或者fasle
					!=:
					>=:
					<=:
					>:
					<:
				自增运算符:
					++:a++ ++a
					--:
					+=:
					-=:			
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			/*声明变量:算术运算*/
				/*var a="123a";
				var b=2;
				alert(a+b);
				var c=true
				var d="1"
				alert(c+d);
				alert(a-d);*/
			/*声明变量:逻辑运算*/
				var a=true;
				var b=true;
				alert(a&b);
				if(a&b){
					alert("haha");
				}
		</script>
	</head>
	<body>
		<h3>js的运算符学习</h3>
	</body>
</html>

= =与===的区别

<html>
	<head>
		<title>js的特殊关系运算符</title>
		<meta charset="UTF-8"/>
		<!--
			等值运算符:==
				先判断类型,类型一致则直接比较。
						类型不一致,则先使用Number()进行强转后再进行比较。
			等同运算符:===
				先判断类型,类型一致则再比较内容,内容一致则返回true,内容不一致则返回false。
						类型不一致则直接false
			注意:
				null和undefined在做==判断时候返回true			
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			/*声明变量*/
			var a=1;
			var a1="1";
			var a2=true;
			var a3="true";
			var a4="a";
			var a5="a";
			/*alert(a==a1);//true
			alert(a==a2);//true
			alert(a==a3);//false
			alert(a1==a2);//true
			alert(a1==a3);//false
			alert(a2==a3);//false
			alert(a4==a5);//true*/
			
			/*alert(a===a1);//true
			alert(a===a2);//true
			alert(a===a3);//false
			alert(a1===a2);//true
			alert(a1===a3);//false
			alert(a2===a3);//false
			alert(a4===a5);//true*/
			
		</script>
	</head>
	<body>
		<h3>js的特殊关系运算符</h3>
	</body>
</html>
<html>
	<head>
		<title>js的逻辑结构和循环结构学习</title>
		<meta charset="UTF-8"/>
		<!--
			js的逻辑结构:
				if结构
					单分支结构:
						if(判断条件){执行体}
					双分支:
						if(判断条件){执行体}else{执行体}
					多分支:
						if(判断条件){执行体}else if(判断条件){执行体}……else{执行体}
				swicth选择结构:
					switch (a){
						case "1":
							alert("第一项选择");
							break;
						case "2":
							alert("第二项选择");
							break;
						default:
							alert("没有对应的选项");
							break;
						}
					注意:
						判断的变量可以是number类型也可以是string类型,但是不要混用。
				循环结构:
					for(变量;条件;迭代条件){循环体}循环
					while(循环条件){循环体}
					do{循环体}while(循环条件)
			
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			/*声明变量:if判断*/
			var a=123;
			var b=45;
			if(a>10){
				alert(a+b);
			}
			
			/*声明变量:选择结构*/
			var a=1;
			switch (a){
				case "1":
					alert("第一项选择");
					break;
				case "2":
					alert("第二项选择");
				break;
				default:
					alert("没有对应的选项");
					break;
			}
/*-----------------------------------------------------------------------------------*/
			/*循环结构学习*/
			for(var i=0;i<3;i++){
				alert("好热:"+i);
			}	
			/*演示九九乘法表*/
			for(var i=1;i<=9;i++){
				for(var j=1;j<=i;j++){
					document.write(i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;&nbsp;");
				}
				document.write("<br />");
			}
		</script>
	</head>
	<body>
		<h3>js的逻辑结构和循环结构学习</h3>
	</body>
</html>

js 的数组

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>js的数组学习</title>
		<!--
			js的数组学习:
				1、数组的声明
					var arr=new Array();//声明一个空数组对象
					var arr=new Array(length)//声明一个指定长度的数组
					var arr=[元素]//声明数组(最常用);<br />
					注意:js中的数组声明不用指定长度,js的数组长度是不固定的,会随着元素的数量改变而改变。
				2、数组的赋值和取值
					数组可以存储任意类型的数据
						数组名[角标]=;//角标可以是任意的正整数或者是0
					数组的取出:
						数组名[角标]//返回当前角标对应存储的值
						如果角标不存在,返回undefined;
				3、数组的length属性
					作用1:数组名.length//返回当前数组的长度。
					作用于2:数组名.length=新的值//动态的改变数组的长度
						  注意:length>原有长度,则使用空进行填充。
						    length<原有长度,则从后面进行截取,最后的数据会被删除。
				4、数组的遍历
					普通for循环:
						for(var i=0;i<arr.length;i++){
							alert(arr[i]);
						}
					for-infor(var i in arr){
							alert(i);//获取的是角标
						}
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			//1、js的数组声明
				/*var arr1=new Array();//第一种声明方式
				arr1[0]="abc";
				alert(arr1);
				var arr2=new Array(5);//第二种声明
				alert(arr2.length);
				var arr3=[1,2,3,4,5];
				alert(arr3);*/
			//2、数组的赋值和取值
				//声明数组
					/*var  arr=[];
					arr[0]=2;
					arr[1]="abc";
					arr[2]=true;
					arr[3]=new Date();
					arr[10]="哈哈";
					alert(arr);
					alert(arr[14]);*/
			//3、数组的length属性
					/*var arr=[1,2,3,4,5,6];
					alert(arr.length);
					arr.length=8;
					alert(arr.length);
					arr[2]="abc";
					alert(arr);
					arr.length=3;
					alert(arr);*/
			//4、数组的遍历
				var arr=[1,"bnj",3,"a",4];
				alert(arr);
				//遍历1
				/*for(var i=0;i<arr.length;i++){
					alert(arr[i]);
				}*/
				//遍历2:
					for(var i in arr){
						alert(i);//获取的是角标
					}
		</script>
	</head>
	<body>
		<h3>js的数组学习</h3>
	</body>
</html>
<html>
	<head>
		<title>js数组的常用操作</title>
		<meta charset="UTF-8"/>
		<!--
			数组的操作学习:
				1、数组的合并:arr.concat(b,c);//数组的合并
				2、数组指定间隔符转换字符串:var b=arr.join("-");
				3、数组移除最后一个元素并返回:var ele=arr.pop();
				4、数组的追加,返回新的长度:var ln=arr.push("lol");//追加的元素可以是一个数组,但是为作为一个角标值存在
				5、数组的移除第一个元素:var ele=arr.shift();
				6、数组的在开始位置插入指定元素:var a=arr.unshift("又是周五了");
				7、数组删除指定位置元素:var arr2=arr.splice(1,3,"a");
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			/*声明数组*/
			var arr=[1,"abc","张三","12"];
			/*数组的操作*/
				/*var b=["今天天气不错","适合学习"];
				var c="js";
				var d=arr.concat(b,c,c);//数组的合并
				alert(d);
				alert(d.length);*/
			/*数组指定间隔符转换字符串*/
				/*var b=arr.join("-");
				alert(typeof b);*/
			/*数组移除最后一个元素并返回*/
				/*var ele=arr.pop();
				alert(ele);*/
			/*数组的追加*/
//				var ln=arr.push("lol");
//				var ln2=arr.push(["66",77]);
//				alert(arr);
			/*数组的移除第一个元素*/
//				var ele=arr.shift();
//				alert(ele);
//				alert(arr);
			/*数组的在开始位置插入指定元素*/
//				var a=arr.unshift("又是周五了");
//				alert(a);
			/*数组删除指定位置元素*/
				var arr2=arr.splice(1,3,"a");
				alert(arr);
	</script>
	</head>
	<body>
		<h3>js数组的常用操作</h3>
	</body>
</html>

计算器案例

<html>
	<head>
		<title>计算器</title>
		<meta charset="UTF-8"/>
		<!--声明css代码域-->
		<style type="text/css">
		/*设置div样式*/
			#showdiv{
				border:  solid 1px;
				border-radius: 10px;/*设置边框角度*/
				width: 320px;
				height:400px;
				text-align: center;
				margin: auto;/*设置居中*/
				margin-top: 50px;
				background-color: floralwhite;	
			
				
			}
		/*设置输入框样式*/
			input[type=text]{
				margin-top: 20px;
				width: 290px;
				height: 40px;
				font-size: 20px;
				
			}
		/*设置按钮样式*/
			input[type=button]{
				width: 60px;
				height: 60px;
				margin-top: 20px;
				margin-left: 5px;
				margin-right: 5px;
				font-size: 30px;
				font-weight: bold;
				font-family: "萝莉体 第二版";
			}  
		</style>
		<!--声明js代码域-->
		<script type="text/javascript">
			//声明函数
			function test(btn){
				//获取button按钮对象的value值
				var num=btn.value;
				//根据用户点击动作执行对应的业务逻辑
				switch (num){
					case "=":
						document.getElementById("inp").value=eval(document.getElementById("inp").value);
						break;
					case "c":
						document.getElementById("inp").value="";
						break;
					default:
						//将按钮的值赋值给input输入框
						document.getElementById("inp").value=document.getElementById("inp").value+num;
						break;
				}
			}
		</script>
	</head>
	<body>
		<div id="showdiv">
			<input type="text" name="" id="inp" value="" readonly="readonly"/><br />
			<input type="button" name="" id="btn" value="1"value="" onclick="test(this)"/>
			<input type="button" name="" id="" value="2" onclick="test(this)"/>
			<input type="button" name="" id="" value="3" onclick="test(this)"/>
			<input type="button" name="" id="" value="4" onclick="test(this)"/><br />
			<input type="button" name="" id="" value="5" onclick="test(this)"/>
			<input type="button" name="" id="" value="6" onclick="test(this)"/>
			<input type="button" name="" id="" value="7" onclick="test(this)"/>
			<input type="button" name="" id="" value="8" onclick="test(this)"/><br />
			<input type="button" name="" id="" value="9" onclick="test(this)"/>
			<input type="button" name="" id="" value="+" onclick="test(this)"/>
			<input type="button" name="" id="" value="-" onclick="test(this)"/>
			<input type="button" name="" id="" value="*" onclick="test(this)"/><br />
			<input type="button" name="" id="" value="0" onclick="test(this)"/>
			<input type="button" name="" id="" value="/" onclick="test(this)"/>
			<input type="button" name="" id="" value="c" onclick="test(this)"/>
			<input type="button" name="" id="" value="=" onclick="test(this)"/>
		</div>
	</body>
</html>

在这里插入图片描述

js函数

<html>
	<head>
		<title>js的函数学习</title>
		<meta charset="UTF-8"/>
		<!--
			test,1-2,
			test(1,2)
			js的函数学习一:
				作用:功能代码块的封装。减少代码的冗余。
				1、函数的声明:
					方式一:function 函数名(形参名1,形参名2……){执行体}
					方式二:var 函数名=new Function("形参1","形参2"……,"函数执行体");
						注意:此声明表明在js中函数是作为对象存在的。
					方式三:var 变量名=function(形参名1,形参名2……){函数执行体}	
				2、函数的参数
					js中的函数在调用时,形参可以不赋值,不会报错
					js中的函数在调用时,形参赋值可以不全部赋值,不会报错,但是实参会依次进行赋值。
				3、函数的返回值
					在js中如果函数有返回值则直接返回,没有返回值默认返回undefined
			注意:
				js的代码声明区域和执行区域是一起的,都是在js代码的代码域中。
			
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			//1、声明函数
				//方式一:
					function test1(a1,a2)
					{
						alert("函数声明一");
					}
				//方式二:
					var test2=new Function("a1","a2","alert('函数声明二'+a1)");
				//方式三:
					var test3=function(a1,a2){
						alert("我是函数声明三");
					}
				//调用声明的函数
					//test2(1,2);
			//2、函数的参数
				function testParam(a1,a2,a3){
					alert(a1);
					alert("函数的形参学习");
				}
				//testParam(1,2);
			//3、函数的返回值
				var testReturn=function(){
					alert("函数的返回值学习");
					//return "js";
				}
				
				alert(testReturn());	
		</script>
	</head>
	<body>
		<h3>js的函数学习</h3>
	</body>
</html>
<html>
	<head>
		<title>js的函数学习二</title>
		<meta charset="UTF-8"/>
		<!--
			js的函数学习二:
				1、函数的执行符:
					在js中函数的执行符值()
						没有小括号则函数名其实就是一个变量
						加上小括号则会函数会被执行。
				2、函数作为实参传递
					在js中函数是可以作为实参进行传递的。
					function testobj(a){
						alert(a());
					}
					var testParam=function(){
						alert("我是函数参数");
					}			
					testobj(testParam());				
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			//1、函数的执行符
				var test1=function(){
					alert("函数的执行符学习");
					return "js";		
				}
				//alert(test1());
			//2、函数作为实参进行传递
				function testobj(a){
					alert(a());
				}
				var testParam=function(){
					alert("我是函数参数");
				}
				testobj(testParam());
			//3、开发中经常用的传递方式
				function testObj2(fn){//testObj2函数在被调用的时候,实参必须是一个函数对象。
					fn();
				}s
				testObj2(function(){
					alert("开发");
				})
		</script>
	</head>
	<body>
		<h3>js的函数学习二</h3>
	</body>
</html>

js的类和对象

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>js中的类和对象学习</title>
		<meta charset="UTF-8"/>
		<!--
			js中的类学习:
				1、类的声明:
					function 类名(形参1,形参2……){
						this.属性名1=形参1;
						this.属性名2=形参2;
						……
						this.属性名=fn
					}
				2、类的使用:
					var 对象名=new 类名(实参1,实参2……);
					注意:
						js中类的内容只是对象的公共部分,每个对象还可以自定义的进行扩充。
				3、类的"继承":prototype关键字
				、	同过prototype关键字实现了不同对象之间的数据共享。
					作用1:实现某个类的所有子对象的方法区对象的共享,节省内存		
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			//1、类的声明--person
			function Person(name,age){
				Person.prototype=new User();
				this.name=name;
				this.age=age;
				this.fav="唱歌";	
			}
			function User(uname,pwd){
				this.uname=uname;
				this.pwd=pwd;
			}
			//使用prototype
				//Person.prototype.test=function(){alert("嘿嘿")};
				Person.prototype=new User();
				User.prototype.testU=function(){alert("我是user")};
				//User.prototype.student=new Student();
			//2、使用类
				var p1=new Person("张三",32);
//					p1.address="北京市";
//					alert(p1.address);
//					alert(p1.name);
				var p2=new Person("李四",23);
//					alert(p2.name);
			//alert(p1.test===p2.test);//false;
					alert(p1.test===p2.test);
					p1.testU();
		</script>
	</head>
	<body>
	</body>
</html>

```javascript
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>js的自定义对象</title>
		<meta charset="UTF-8"/>
		<!--
			js创建自定义对象
				对象的作用:用来存储整体数据。
				原因:很多时候我们没有办法预先知道一个对象应该有哪些属性,所以只能临时的创建一个对象来自定义属性存储数据。来保证数据的完成性
				应用:
					Ajax中会使用。
				使用:
					1、创建自定义对象
						var 对象名=new Object();
							对象名.属性名1=属性值1;
							对象名.属性名2=属性值2;
							对象名.属性名3=属性值3;
							……
						
						var 对象名={};
							对象名.属性名1=属性值1;
							对象名.属性名2=属性值2;
							对象名.属性名3=属性值3;
							……
					2、一般用来存储数据,不会再自定义对象中存储函数对象。
					3、js中的对象属性和内容是可以自定义的扩充的,不是依赖于类的声明的,类只是对象公共部分的一种声明,是为了节省代码的冗余的。	
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			//1、创建自定义对象
				var obj=new Object();
				obj.name="张三";
				obj.age=23;
				obj.test=function(){
					alert("我是obj");
				}			
		</script>
	</head>
	<body>
	</body>
</html>
<html>
	<head>
		<title>js的常用对象和方法</title>
		<meta charset="UTF-8"/>
		<!--
			常用的对象和方法:
				1、String
				2、Date
				3、Math
				4、Global
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			//1、String对象学习
				var str=new String("abcdefg");//声明String对象存储字符串
				var  str2="MNP";//简写形式
				//alert(str);
				//字符串大小写的转换
					//alert(str.toUpperCase());//将字符串转换为大写
					//alert(str2.toLowerCase());//将字符串转换为小写
				//字符串的切割
//					var s="哈哈,嘿嘿,呵呵";
//					var s1=s.split(",");//按照指定的字符切割字符串,返回数组。
//					alert(s1.length);
				//字符串的截取
//					var s="abcdef";
//					alert(s.substr(1,3));//从指定的开始位置截取指定长度的子字符串
//					alert(s.substring(1,3));//从指定的开始位置和指定的结束位置截取子字符串,含头不含尾。
				//查找子字符串第一次出现的角标
//					var s="abcdefg";
//					alert(s.indexOf("dd"));//返回指定子字符串第一次出现的角标,没有则返回-1;
			//2、Date对象
				//1、创建Date对象
					var d=new Date();
					//alert(d);
				//获取当前年份
//					alert(d.getYear());//返回的是1900年开始距今的年分数
//					alert(d.getFullYear());//返回的是当前的年份
//					alert(d.getMonth()+1);//返回的当前月份的角标值,需要+1
//					alert(d.getDate());//返回的是当前的日期数
//					alert(d.getDay());//返回的是当前的星期数,但是周天会返回值为0;
//					alert(d.getHours());//返回当前时间的小时数
//					alert(d.getMinutes());//返回当前时间的分钟数
//					alert(d.getSeconds());//返回当前时间的秒数
					
					//alert(d.getHours()+":"+d.getMinutes()+":"+d.getSeconds());
			//3、Math对象学习
				//1、Math在使用的时候不能new,使用Math.方法名调用即可。
					//创建随机数字
//						alert("Math.random():"+Math.random());//返回0-1之间的随机数字,含0不含1。
//						alert(1000+Math.random()*9000);
					//向下取整
//						alert(Math.floor(1000+Math.random()*9000));
					//向上取整
//						alert(Math.ceil("12.34"));
					//四舍五入
//						alert(Math.round(12.12));
//						alert(Math.round(12.65));
					//数值比较:求取最小值,求取最大值
//						alert(Math.min(12,13,5,78));//获取最小值
//						alert(Math.max(12,3,4,56));//获取最大值
			//4、Global对象学习
					//1、改对象从不直接使用并且不能new,也是就直接写方法名调用即可。
						//使用eval将字符串转换为可执行的js代码
							var str="var a=123";
							eval(str);
							alert(a);
						//使用isNaN判断是否值NaN
							alert(isNaN("123"));
						//获取字符中的浮点数
							alert(parseFloat("12.34a34a"));
		</script>
	</head>
	<body>
		
	</body>
</html>

js的事件机制

<html>
	<head>
		<title>js的事件机制学习1</title>
		<meta charset="UTF-8"/>
		<!--
			js的事件机制:
				解释:当我们的行为动作满足了一定的条件后,会触发某类事务的执行。
				作用:主要是结合js的函数来使用。
				内容:
					1、单双击事件
						单击:onclick    		当鼠标单击的时候会触发
						双击:ondblclick		当鼠标双击的时候会被触发
					2、鼠标事件
						onmouseover			当鼠标悬停在某个HTML元素上的时候触发
						onmousemove			当鼠标在某个HTML元素上移动的时候触发
						onmouseout			当鼠标在某个HTML元素上移出的时候触发
					3、键盘事件
						onkeyup				当键盘在某个HTML元素上弹起的时候触发
						onkeydown			当键盘在某个HTML元素上下压的时候触发
					4、焦点事件
						onfocus				当某个HTML元素获取焦点的时候触发
						onblur				当某个HTML元素失去焦点的时候触发
					5、页面加载事件			
						onload				当页面加载成功后触发。
				注意:
					js中添加事件的第一种方式:
						在HTML上直接使用事件属性进行添加,属性值为所监听执行的函数。
					js中的事件只有在当前HTML元素上有效。
					一个HTML元素可以添加多个不同的事件。
					一个事件可以监听触发多个函数的执行,但是不同的函数要使用分号间隔
		-->
		<!--声明js代码域-->
		<script type="text/javascript">
			/*声明js函数*/
				//单击事件
					function testOnclick(){
						alert("我是单击");
					}
				//测试双击
					function testOndblclick(){
						alert("我是双击");
					}
				//鼠标事件
					function testOnmouseover(){
						alert("我是鼠标悬停事件");
					}
					
					function testOnmousemove(){
						alert("我被移动了");
					}
					
					function testOnmouseout(){
						alert("我被移出了");
					}
				//键盘事件
					function testOnkeyup(){
						alert("我是键盘弹起事件");
					}
					
					function testOnkeydown(){
						alert("我是键盘按下事件");
					}
				//焦点事件
					function testOnfocus(){
						document.getElementById("showdiv").innerHTML="哈哈";
						alert("我是获取焦点事件");
					}
					
					function testOnblur(){
						alert("我是失去焦点事件");
					}
				//页面加载
					function testOnload(){
						alert("我是页面加载事件");
					}
				//测试
					function test(){
						alert("测试一个事件的多个函数执行");
					}
		</script>
		<style type="text/css">
			#showdiv{
				width: 300px;
				height: 300px;
				border: solid 1px;
			}
		</style>
	</head>
	<body onload="testOnload()">
		<h3>js的事件机制学习1</h3>
		<hr />
		<input type="button" name="" id="" value="测试单击" onclick="testOnclick();test();" />
		<input type="button" name="" id="" value="测试双击" ondblclick="testOndblclick();" />
		<hr />
		<br /><br />
		<div id="showdiv" onmouseover="testOnmouseover();" onmousemove="testOnmousemove()" onmouseout="testOnmouseout()">
			
		</div>
		<hr />
		键盘事件学习:	<br />
			键盘弹起事件:<input type="text" name="" id="" value="" onkeyup="testOnkeyup();"/><br /><br />
			键盘下压事件: <input type="text" name="" id="" value="" onkeydown="testOnkeydown()"/>
		<hr />
			焦点事件学习:<br />
				获取焦点: <input type="text" name="" id="" value="" onfocus="testOnfocus();"/><br /><br />
				失去焦点: <input type="text" name="" id="" value=""  onblur="testOnblur();"/>
	</body>
</html>
<html>
	<head>
		<title>js的事件机制二</title>
		<meta charset="UTF-8"/>
		<!--
			js的事件机制学习21、给合适的HTML标签添加合适的事件
					onchange----select下拉框
					onload------body标签
					单双击-------用户会进行点击动作的HTML元素
					鼠标事件------用户会进行鼠标移动操作的。
					键盘事件------用户会进行键盘操作的HTML元素。
				2、给HTML元素添加多个事件时,注意事件之间的冲突
					举个栗子:单击和双击
					当事件的触发条件包含相同部分的时候,会产生事件之间的冲突。
				3、事件的阻断
					当事件所监听的函数的将返回值返回给事件时:
						false:则会阻断当前事件所在的HTML标签的功能
						true:则继续执行当前事件所在的HTML标签的功能
				4、超链接调用js函数
					<a href="javascript:函数名()">调用js函数</a>			
		-->
		<script type="text/javascript">
			
			//值改变事件
				function testOnchange(){
					alert("我被改变了");
				}
			//单击事件
				function testOnclick(){
					alert("今天天气真好,不冷不热,贼适合学习");
				}
			//双击事件
				function testOndblclick(){
					alert("老师说的对");
				}
			//事件的阻断
				function testA(){
					alert("事件的阻断");
					return true;
				}
			//超链接调用js函数
				function testHref(){
					alert("我是超链接调用");
				}
			
			
		</script>
	</head>
	<body>
		<h3>js的事件机制二</h3>
		<hr />
		值改变事件: <input type="text" name="" id="" value="" onchange="testOnchange();"/>
		<br /><br />
		<select name="" id="" onchange="testOnchange();">
			<option value="">北京</option>
			<option value="">上海</option>
			<option value="">广州</option>
		</select>
		<hr />
		事件的冲突:<br />
			<input type="button" name="" id="" value="事件的冲突" onclick="testOnclick()" ondblclick="testOndblclick()"/>
		<hr />
		事件的阻断:<br />
			<a href="http://www.baidu.com" target="_blank" onclick="return testA()">百度一下</a>
		<hr />
		超链接调用js函数:
			<a href="javascript:testHref()">调用js函数</a>
	</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值