JavaScript基础

1.为什么学习 JavaScript?

JavaScript 是 web 开发人员必须学习的 3 门语言中的一门:
HTML 定义了网页的内容
CSS 描述了网页的布局
JavaScript 控制了网页的行为

2. 什么是JavaScript?

JavaScript 是一个面向对象的脚本语言,目前互联网上较流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
面向对象是一种编程思想
面向对象是从面向过程升华而来。
面向过程–例如:从电视塔到钟楼
将从电视塔开始到钟楼结束中途所经历的每一步都要记录 【公交车】
面向对象–例如:从电视塔到钟楼
将电视塔作为起始对象,钟楼作为结束对象 【滴滴】
脚本语言–编写好以后放到运行环境中直接就能运行的语言。

3.JavaScript的作用

<1>JavaScript:直接写入 HTML 输出流

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<p>
JavaScript 能够直接写入 HTML 输出流中:
</p>
<script>
document.write("<h1>这是一个标题</h1>");
document.write("<p>这是一个段落。</p>");
</script>
</body>
</html>

<2>JavaScript:对事件的反应

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一个 JavaScript</h1>
<p>JavaScript 能够对事件作出反应。比如对按钮的点击:</p>
<button type="button" onclick="alert('欢迎!')">点我!</button>
</body>
</html>

<3>JavaScript:改变 HTML 内容

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一段 JavaScript</h1>
<p id="demo">JavaScript 能改变 HTML 元素的内容。</p>
<script>
function myFunction(){
	x=document.getElementById("demo");  // 找到元素
	x.innerHTML="Hello JavaScript!";    // 改变内容
}
</script>
<button type="button" onclick="myFunction()">点击这里</button>
</body>
</html>

<4>JavaScript:改变 HTML 图像

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<script>
function changeImage(){
	element=document.getElementById('myimage')
	if (element.src.match("bulbon")){
		element.src="/images/pic_bulboff.gif";
	}
	else{
		element.src="/images/pic_bulbon.gif";
	}
}
</script>
<img id="myimage" onclick="changeImage()" src="/images/pic_bulboff.gif" width="100" height="180">
<p>点击灯泡就可以打开或关闭这盏灯</p>
</body>
</html>

<5>JavaScript:改变 HTML 样式

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一段 JavaScript</h1>
<p id="demo">JavaScript 能改变 HTML 元素的样式。</p>
<script>
function myFunction(){
	x=document.getElementById("demo") // 找到元素
	x.style.color="#ff0000";          // 改变样式
}
</script>
<button type="button" onclick="myFunction()">点击这里</button>
</body>
</html>

<6>JavaScript:验证输入

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一段 JavaScript</h1>
<p>请输入数字。如果输入值不是数字,浏览器会弹出提示框。</p>
<input id="demo" type="text">
<script>
function myFunction(){
	var x=document.getElementById("demo").value;
	if(isNaN(x)||x.replace(/(^\s*)|(\s*$)/g,"")==""){
		alert("不是数字");
	}
}
</script>
<button type="button" onclick="myFunction()">点击这里</button>	
</body>
</html>

4.JavaScript 用法

HTML 中的脚本必须位于 <script></script> 标签之间。
脚本可被放置在 HTML 页面的 <body><head> 部分中。
<script> 标签
如需在 HTML 页面中插入 JavaScript,请使用 <script> 标签。
<script></script> 会告诉 JavaScript 在何处开始和结束。
<script></script> 之间的代码行包含了 JavaScript.
JavaScript 函数和事件
上面例子中的 JavaScript 语句,会在页面加载时执行。
通常,我们需要在某个事件发生时执行代码,比如当用户点击按钮时。
如果我们把 JavaScript 代码放入函数中,就可以在事件发生时调用该函数。
<head> 或者 <body> 的JavaScript
您可以在 HTML 文档中放入不限数量的脚本。
脚本可位于 HTML 的 <body><head> 部分中,或者同时存在于两个部分中。
通常的做法是把函数放入 <head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。
<head> 中的 JavaScript 函数
在本例中,我们把一个 JavaScript 函数放置到 HTML 页面的 <head> 部分。
该函数会在点击按钮时被调用。

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
<script>
function myFunction(){
	document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数";
}
</script>
</head>
<body>
<h1>我的 Web 页面</h1>
<p id="demo">一个段落。</p>
<button type="button" onclick="myFunction()">点击这里</button>
</body>
</html>

<body> 中的 JavaScript 函数
在本例中,我们把一个 JavaScript 函数放置到 HTML 页面的 <body> 部分。
该函数会在点击按钮时被调用。

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一个 Web 页面</h1>
<p id="demo">一个段落。</p>
<button type="button" onclick="myFunction()">点击这里</button>
<script>
function myFunction(){
	document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数";
}
</script>
</body>
</html>

外部的 JavaScript
我们也可以把脚本保存到外部文件中。外部文件通常包含被多个网页使用的代码。
外部 JavaScript 文件的文件扩展名是 .js。
如需使用外部文件,请在 <script> 标签的 “src” 属性中设置该 .js 文件。
myScript.js 文件
function myFunction() {
document.getElementById(“demo”).innerHTML=“我的第一个 JavaScript 函数”;
}

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>	
<h1>我的 Web 页面</h1>
<p id="demo">一个段落。</p>
<button type="button" onclick="myFunction()">点击这里</button>
<p><b>注释:</b>myFunction 保存在名为 "myScript.js" 的外部文件中。</p>
<script src="myScript.js"></script>
</body>
</html>

5.JavaScript 输出显示数据

JavaScript 可以通过不同的方式来输出数据:
<1>使用 window.alert() 弹出警告框。

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一个页面</h1>
<p>我的第一个段落。</p>
<script>
window.alert(5 + 6);
</script>
</body>
</html>

<2>使用 document.write() 方法将内容写到 HTML 文档中。

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>	
<h1>我的第一个 Web 页面</h1>
<p>我的第一个段落。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
    document.write(Date());
}
</script>
</body>
</html>

<3>使用 innerHTML 写入到 HTML 元素。

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一个 Web 页面</h1>
<p id="demo">我的第一个段落。</p>
<script>
document.getElementById("demo").innerHTML="段落已修改。";
</script>
</body>
</html>

<4>使用 console.log() 写入到浏览器的控制台。

例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>wangxing</title>
</head>
<body>
<h1>我的第一个 Web 页面</h1>
<p>浏览器中(Chrome, IE, Firefox) 使用 F12 来启用调试模式, 在调试窗口中点击 "Console" 菜单。</p>
<script>
a = 5;
b = 6;
c = a + b;
console.log(c);
</script>
</body>
</html>

6.JavaScript 注释

单行注释以 // 开头
多行注释以 /* 开始,以 */ 结尾

7.JavaScript 变量

<script>
			//javascript的初始化函数
			window.onload=function(){
				//变量是用于存储信息/数据的"容器"。
				//在程序运行的过程中可以随时改变变量中存储的数据
				//通过var关键字声明(创建)定义 JavaScript 变量
				//格式  : var 变量名称;
				var  num1;
				//变量声明之后,该变量是空的(它没有值)。
				//如果我们需要给这个变量保存信息/数据,就需要给变量赋值
				//如需向变量赋值,请使用等号。 
				//格式 : 变量名称 = 数据;
				num1=100;
				//alert("num1=="+num1); //num1==100
				//您也可以在声明变量时对其赋值
				var  num2=200;
				//一条语句,多个变量,该语句以 var 开头,并使用逗号分隔变量即可。
				var  test1 , test2, test3;
				//可以逐个为声明的变量赋值
				test1="hello";
				test2=1001;
				test3="西安";
				//一条语句,定义多个变量,在定义变量的时候可以赋值
				var name="zhangsan",age=23,address="西安";
				alert(name+","+age+","+address);
				
				//关于变量名称的命名
				//1.可以是数字,字母,$ , _ ,不能用数字开头
				//2.$ , _ 可以作为开头,单不推荐使用
				//3.变量名称对大小写敏感(y 和 Y 是不同的变量)
				//var  y;  
				//var  Y;
				//4.不能使用关键字
				//关键字是javascript语言为一个单词赋予特殊的含义,这些赋予特殊的含义的单词就是关键字
				//5.不要用中文
				//6.全字母小写,如果有多个单词组成可以用$ , _ ,连接
				//var  hello_test;	
			}
</script>

8.JavaScript 数据类型

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JavaScript 数据类型</title>
		<script>
			//javascript的初始化函数
			window.onload=function(){
				//数据类型实际上是用来决定所定义的变量将来所能进行那些操作。
				//JavaScript中的数据类型有2大类:值类型(基本类型)和引用数据类型
				//值类型(基本类型): 字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol[ES6]。
			    //1.字符串(String)
				//字符串是存储字符(比如 "hello")的变量。
				//字符串可以是引号[''/""]中的任意文本。
				var str1="hello";
				var str2='wangxing';
				//双引号中的双引号用单引号代替
				var str2="hello'wangxing'";
				//alert(str2);
				//2.JavaScript 数字
				//JavaScript 只有一种数字类型。数字可以带小数点,也可以不带。
				var  num1=12.5;
				var  num2=125;
				//极大或极小的数字可以通过科学(指数)计数法来书写。
				//var y=123e5;      // 12300000
				//var z=123e-5;     // 0.00123
				//9.999999999999998e+31
				// 0 开头的是8进制  “0x”开头的是16进制
				var num3=010; //8
				//3.JavaScript 布尔
				//布尔(逻辑)只能有两个值:true 或 false。布尔常用在条件判断中。
				var b1=true;
				var  b2=false;
				//4.null
				//在 JavaScript 中 null 表示 "什么都没有"。
				//null是一个只有一个值的特殊类型。表示一个空对象引用。
				var  test =  null; 
				//alert(test);
				//5.undefined -- 未赋值【未定义】
				var a;
				alert(a);
				
			}
		</script>
	</head>
	<body>
	</body>
</html>

9.引用数据类型

<script>
			window.onload=function(){
				//引用数据类型:对象(Object)、数组(Array)、函数(Function)。
				//1.JavaScript 对象
				//对象由{}表示
				//{}内部可以出现2中元素
				//1.属性--属性名称 : 属性值 ,属性与属性之间/属性与方法之间使用","分割
				//2.方法 -- 方法名称 :function(){} ,方法与方法之间/方法与属性之间使用","分割
				var student={name:"zhangsan",
							 age:23,
							 address:"西安",
							 getInfo:function(){
								 alert("我是student对象的一个方法");
							 }
							};
				//对象中的属性访问
				//1.得到对象中的属性值
				//对象名称.属性名称  /  对象名称["属性名称 "]
				//alert(student.name);
				//alert(student["address"]);
				//2.修改对象中的属性值
				//对象名称.属性名称 = 新值
				//student.name="lisi";
				//alert(student.name);
				//2.调用对象中的方法
				//对象名称.方法名称()
				//student.getInfo();
				
				
				//数组(Array)
				//数组--一组数据。使用一个变量来保存一组数据
				//"zhangsan"  23  "西安"
				//var  obj={name:"zhangsan",age:23,address:"西安"};
				//创建数组
				//1.先创建后赋值
				var arr1=new Array();
				//向数组中赋值,数组名称[下标]=数据值;
				//[]---数组的标志
				//下标---数据值在数组中的位置,从0开始
				arr1[0]="zhangsan";
				arr1[1]=23;
				arr1[2]="西安";
				//2.创建+赋值
				//var 数组名称=new Array("数据值1",数据值2,数据值3);
				var arr2=new Array("zhangsan",23,"西安");
				//var 数组名称=["数据值1",数据值2,数据值3];
				var arr3=["zhangsan",23,"西安"];
				//取出数组中的数据值
				//数组名称[下标]
				//alert(arr1[0]+","+arr2[1]+","+arr3[2]);
				//数组的length属性---得到数组中的元素的个数
				//alert(arr1.length);
				
				//函数(Function)--实现某一个功能的代码块
				//格式:function  函数名称(参数列表){函数体 [return xxxx]}
				//function---声明函数的关键词
				//函数名称的规则
				//1.可以是数字,字母,$ , _ ,不能用数字开头
				//2.$ , _ 可以作为开头,单不推荐使用
				//3.函数名称对大小写敏感
				//4.不能使用关键字
				//关键字是javascript语言为一个单词赋予特殊的含义,这些赋予特殊的含义的单词就是关键字
				//5.不要用中文
				//6.全字母小写,如果有多个单词组成可以用$ , _ ,连接
				//()--参数列表
				//参数---接收函数之外的数据进入本函数中进行运算【帮手】
				//没有参数--()
				//有一个参数----(变量名称)
				//有多个参数(变量名称,变量名称,变量名称)
				//{}--函数体包含的是具体功能实现的代码
				//[return xxxx]--函数的执行结果,有结果就写在函数体的最后一行,没有结果就不写
				
				//1.没有参数,没有返回值的函数
				function test1(){
					alert("没有参数,没有返回值的函数");
				}
				//2.有一个参数,没有返回值的函数
				function test2(num1){
					alert("有一个参数,没有返回值的函数,参数是=="+num1);
				}
				//3.有多个参数,没有返回值的函数
				function test3(num1,num2,num3){
					alert("有一个参数,没有返回值的函数,参数是=="+num1+","+num2+","+num3);
				}
				//4.没有参数,有返回值的函数
				function test4(){
					alert("没有参数,有返回值的函数");
					return "返回值";
				}
				//5.有参数,返回值的函数
				function test5(num1,num2){
					alert("有多个参数,有返回值的函数,参数是=="+num1+","+num2);
					return "返回值";
				}
				
				//函数的调用---在需要使用函数的地方直接写函数名称([参数列表]);
				//1.调用没有参数,没有返回值的函数
				//test1();
				//2.调用有参数,没有返回值的函数
				//test3("zhangsan",23,"西安");
				//3.调用没有参数,有返回值的函数,接收函数的返回值结果
				//var res=test4();
				//alert("test4的运行结果==="+res);
				//4.有参数,返回值的函数
				//var res=test5("hello","网星");
				//alert("test4的运行结果==="+res);
				
				//总结:要什么,给什么;给什么,收什么。
				
			}
		</script>

10.变量与函数的关系

<script>
			window.onload=function(){
				//局部变量
				//在 JavaScript 函数内部声明的变量(使用 var)是局部变量
				//所以只能在函数内部访问它。(该变量的作用域是局部的)。
				/*
				function  test1(){
					//局部变量
					var name="zhangsan";
					alert("局部变量=="+name);
				}
				function  test2(){
					alert("局部变量=="+name);
				}
				test2();
				*/
			   
			   //全局 JavaScript 变量
			   //在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
			   //全局变量
			   var name="zhangsan";
			   function  test1(){
			   	alert("局部变量=="+name);
			   }
			   function  test2(){
			   	alert("局部变量=="+name);
			   }
			   //test1();
			   //test2();
			   //局部变量会在函数运行以后被删除。
			   //全局变量会在页面关闭后被删除。
			   
			   //如果您把值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性。
			   //str="hello"; //此时变量属性window对象的一个属性
			   //alert(window.str);
			   //alert(str);
			   
			   //JavaScript 作用域
			   //作用域是指定义的变量的有效范围
			   //局部变量:只能在函数内部访问。
			   //全局变量有 全局作用域: 网页中所有脚本和函数均可使用。
			   
			}
</script>

11.JavaScript 运算符

<script>
			window.onload=function(){
				//JavaScript 算术运算符 [+  -  *  /  %  ++  --]
				//+  用于把文本值或字符串变量加起来(连接起来)。
				var  str1="hello";
				var str2="网星";
				//alert(str1+str2);
				//两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串.
				var num1=100;
				//alert(str1+num1);
				//++  [自动加1]  【变量++  先用后加1】  【++变量  先加1后用】
				//alert(num1++); //100
				//alert(num1); //101
				//alert(++num1); //101
				//alert(num1); //101
				//-- [自动减1] 【变量--  先用后减1】  【--变量  先减1后用】
				//alert(num1--); //100
				//alert(num1); //99
				//alert(--num1); //99
				//alert(num1); //99
				
				//JavaScript比较运算符 [>  <  >=  <=  ==  ===  !=]
				//比较运算符在逻辑语句中使用,以测定变量或值是否相等。
				//运算结果是boolean值【true [正确] / false[错误]】
				var  num1=120;
				var  num2=100;
				//alert(num1 > num2);//true
				//alert(num1 < num2);//false
				//alert(num1 >= num2);//true
				//alert(num1 <= num2);//false
				//alert(num1 == num2);//false
				//alert(num1 != num2);//true
				//alert(num1 === num2);//false
				//==与===
				//==判断数据值是否相等
				var  test1=100;
				var  test2="100";
				//alert(test1 == test2); //true
				//=== 判断数据值与数据类型是否相等
				//alert(test1 === test2); //false
				
				//JavaScrip逻辑运算符 [||  &&  !取反]
				// || 逻辑或--- 左右都为false是结果为false,其他都是true 
				//alert(true || false); //true
				//alert(false || true); //true
				//alert(true || true); //true
				//alert(false || false); //false
				// &&逻辑与 --- 左右都为true是结果为true,其他都是false 
				//alert(true && false); //false
				//alert(false && true); //false
				//alert(true && true); //true
				//alert(false && false); //false
				//参数运算的数据都是boolean,运算结果是boolean值【true [正确] / false[错误]】
				
				//JavaScrip条件运算符 
				//格式:  var  res=(表达式)?value1:value2;
				//判断表达式的结果  1. true --  value1数据值赋值给res
				//				   2. false --  value2数据值赋值给res
				var  testvalue=(12>3)? "大于" : "小于";
				//alert(testvalue); //大于
				
				//typeof 操作符 -- 检测变量的数据类型
				var num1=12.5;
				var str1="hello";
				var boo=false;
				var nul=null;
				var un;
				var  student={name:"zhangsan"};
				var  arr=["zhangsan","lisi"];
				
				var  fun=function test1(){
					alert("test1函数");
				}
				//alert(typeof num1); //number
				//alert(typeof str1); //string
				//alert(typeof boo); //boolean
				//alert(typeof nul); //object
				//alert(typeof un); //undefined
				//alert(typeof student); //object
				//alert(typeof arr);  //object
				//alert(typeof fun);  //function
				//null,对象,数组都是object类型
			}
</script>

12.条件语句

if 语句

<script>
function mybutton(){
			var a="";
			var b=new Date().getHours()
		// 	if(b<20){
				a="good day"
			}
			document.getElementById("but").innerHTML=a
		// }
		
		var a=new Date().getHours()
		var a=13
		if(a>=6){
			alert("早上好")
}
</script>

if else语句

<script>
				function mybutton(){
					var b=""
					var time=new Date().getHours()
					if(time<12){
						b="早上好"
					}else{
						b="下午好"
					}
					document.getElementById("but").innerHTML=b
				// }
		
		if(b<12){
			alert("早上好")
		}else(
		alert("下午好")
		)
</script>

if…elseif…else 语句

<script>
		if(b>=6 && b<11){
			alert("早上好")
		}else if(b>=11 && b<13){
			alert("中午好")
		}else if(b>=13 && b<18){
			alert("下午好")
		}else{
			alert("晚上好")
		}			
</script>

if语句的嵌套

<script>
	if(false){
			if(false){
				alert("true  true");
			}else{
					alert("true  false");
			}
		}else{
			if(true){
				alert("false  true  ");
			}else{
					alert("false  false  ");
			}
		}
</script>

if语句的嵌套

<script>
if(false){
			if(false){
				alert("true  true");
			}else{
					alert("true  false");
			}
		}else{
			if(true){
				alert("false  true  ");
			}else{
					alert("false  false  ");
			}
		}
</script>

switch 语句

<script>
function mybutton(){
			var a;
			var b=new Date().getDay()
			switch(b){
				case 0:a="今天是星期日";break;
		        case 1:a="今天是星期一"; break;
				case 2:a="今天是星期二";break;
				case 3:a="今天是星期三";break;
				case 4:a="今天是星期四";break;
				case 5:a="今天是星期五"; break;
				case 6:a="今天是星期六";break;

			}
			document.getElementById("but").innerHTML=a
		}
</script>

13.循环语句

<script type="text/javascript">
			for循环
			for(i=1;i<=5;i++){
				alert(i)
			}
			遍历数组
			cars=["wwe","dbq","what","by","kk"]
			for(i=0;i<cars.length;i++){
				document.write(cars[i])
			}
			var arr=["zhangsan","lisi","wangwu"];
			for(var i=0;i<arr.length;i++){
				alert(arr[i])
			}
			
			
			for/In 循环 循环遍历对象的属性名称/遍历数组
			for(var 变量 in 数组/对象){
			}
			for/in---遍历数组得到数组下标
			var arr=["zhangsan","lisi","wangwu"];
			for(var ind in arr){
				alert(arr[ind])
			}
			for/in---遍历对象的属性名称
			var obj={name:"zhangsan",age:23,address:"西安"}
			for(var na in obj){
				alert(na)
			}
			forEach(function(index,element){ }); 方法
			var arr=["zhangsan","lisi","wangwu"];
			arr.forEach(function(index){
				alert(index);
			});
			
			
			while 循环
			循环输出1-10的整数
			var a=1
			while(a<=10){
				alert(a)
				a++
			}
			
			
			do/while循环 - 同样当指定的条件为 true 时循环指定的代码块
			循环输出10-1的整数
			var a=10
			do{
				alert(a)
				a--
		      }
</script>

14.break 和 continue 语句

<script type="text/javascript">
		break---中断 语句用于跳出/结束循环、switch语句中结束switch
			for(var i=10;i>=1;i--){
				alert(i)
				if(i==7){
					break;
				}
			}
			
			
			for(var a=1;a<=10;a++){
				if(a==5){
					continue;
				}
				alert(a)
			}
		</script>

15.JavaScript 错误处理

<script type="text/javascript">
			//1.程序出现错误是正常现象,就像人会生病
			//try 和 catch
			/*
			语法格式:
			try {
			 ... //异常的抛出 
			} catch(e) {
			 ... //异常的捕获与处理 
			} finally {
			 ... //结束处理 
			}
			*/
			//try{}---包围可能出现错误的代码
			//catch(e) {}--e[错误对象]/{}--捕获与处理错误
			//finally{}--一般出现在catch(e){}后面,有误错误都执行,也可以不用写
			function testError(){
				try{
				var str="try 和 catch";
				updateButton(str);
				}catch(eobj){
					alert(eobj.name); //ReferenceError
					alert(eobj.message); //updateButton is not defined
				}finally{
					alert("有无错误都执行");
				} 
			}
			//将可能出现的错误的代码用try{}catch(error对象){捕获处理异常}包围
			//使用catch中的error对象打印输出错误提示信息
			
			//throw 语句允许我们创建自定义错误,并抛出
			//在某些情况下出现错误比不出现错误更好
			function createArray(size){
				try{
			    if(size<0){
					throw "数组大小不能为负数";
				}else{
				var  arr=new Array(size);
				alert(arr.length);
				}
				}catch(eobj){
					alert(eobj);
				}
			}
		</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值