1.JavaScript:是一种基于对象和事件驱动的脚本语言.后缀名:.js

  • 注意:依赖于html.

2.JavaScript的作用:

2.1:进行表单验证,来实现数据校验.

2.2:实现页面特效,吸引用户

2.3:对象和事件驱动

3.JavaScript的组成

  • ECMAScript(js基础),
  • DOM(文档对象模型),
  • BOM(浏览器对象模型).

4.JavaScript是一种弱类型语言.

  • 是一种边执行边解释的语言.

5.页面引入JavaScript的方式

5.1:行内js:在标签的事件中写js代码.

eg:<!--行内javaScript-->
		<input onclick="javaScript:alert('试试就试试');" type="button" value="点我试试"/>

5.2:内部js:在html页面任何地方都可以用

eg:<!--内部js-->
		<script type="text/javascript">
			alert("这是内部js");
		</script>

5.3:外部js:先创建一个外部js文件,再在页面上引入.

eg:<!--引入外部js-->
		<script type="text/javascript" src="js/1.js" ></script>

6.JavaScript的输出方式:

eg://js的第一种输出方式
			alert("这是js的第一种输出方式");
			
			//js的第二种输出方式
			document.write("1.这是js的第二种输出方式<br/>");
			document.write("2.这是js的第二种输出方式");
			
			//js的第三种输出方式
			console.log("这是js的第三种输出");

7.JavaScript的变量

7.1:声明变量: var 变量名;

7.2:给变量赋值: 变量名=值;

7.3:声明变量的同时赋值: var 变量名=值;

eg://声明变量
			var n1;
			
			//给变量赋值
			n1=11;
			n2="Hello JS";
			
			//在声明变量的同时赋值
			var n3=3.14;
			var n4,n5,n6=33,n7;
			
			document.write(n1+"<br/>");
			document.write(n2+"<br/>");
			document.write(n3+"<br/>");
			document.write(n4+"<br/>");
			document.write(n6+"<br/>");

8.JavaScript的数据类型:number,string,boolean,object,undefined,function

  • 注意:在javaScript中如果变量省略 value 参数,或者设置为 0、-0、null、""、false、undefined 或 NaN,则该对象判断时值为 false.
eg:var n10=null;
			//在javaScript中如果变量省略 value 参数,或者设置为 0、-0、null、""、false、undefined 或 NaN,则该对象判断时值为 false.
			if(n10){
				document.write("true");
			}else{
				document.write("false");//输出
			}

8.1:获得变量的数据类型: typeof(变量)

8.2:获得变量的数据类型: typeof 变量

eg:document.write(typeof n1);
			document.write("<br/>");
			document.write(typeof(n2)+"<br/>");
			document.write(typeof(n3)+"<br/>");
			document.write(typeof(n6)+"<br/>");
			document.write(typeof(n8)+"<br/>");
			document.write(typeof(n9)+"<br/>");
			document.write(typeof(n10)+"<br/>");

9.javaScript中运算符(算术运算符,关系运算符,赋值运算符,逻辑运算符)与java中用法是一样.

  • 注意:==只比较变量的值,与数据类型无关;===比较变量的值和数据类型
eg:var num1=11;
			var num2=11;
			var num3="11";
			
			//==只比较变量的值,与数据类型无关
			//===比较变量的值和数据类型
			document.write(num1==num2);//true
			document.write(num1==num3);//true
			document.write(num1===num2);//true
			document.write(num1===num3);//false

10.js中对象:万物皆对象.

10.1:自定义对象:

eg://第一种:创建JavaScript的本地对象,简称json对象
			var ob1={"sname":"张三","sage":"18"};
			//调用对象的属性并输出
			//第一种调用对象属性:对象名.属性名
			//第二种调用对象属性:对象名["属性名"]
			//document.write("学生姓名:"+ob1.sname+"<br/>"+"年龄:"+ob1["sage"]);
			
			//第二种:创建Js对象
			var ob2=new Object();
			//用对象调用属性并赋值
			ob2.tname="孙星";
			ob2.tage=18;
			//document.write("学生姓名:"+ob2.tname+"<br/>"+"年龄:"+ob2["tage"]);
			
			//第三种:创建js对象
			function person(pname,page){
				this.pname=pname;
				this.page=page;
			}
			
			var ob31=new person("任奎",22);
			var ob32=new person("文翊",22);
			document.write("学生姓名:"+ob31.pname+",年龄:"+ob31.page+"<br/>");
			document.write("学生姓名:"+ob32.pname+",年龄:"+ob32.page+"<br/>");

10.2:prototype 属性使您有能力向对象添加属性和方法。

eg://第三种:创建js对象
			function person(pname,page){
				this.pname=pname;
				this.page=page;
			}
			
			//prototype 属性使您有能力向对象添加属性。
			person.prototype.psex="男";
			
			//prototype 属性使您有能力向对象添加方法。
			person.prototype.show=function(){
				document.write("***学生姓名:"+this.pname+",年龄:"+this.page+"<br/>");
			
			}

			var ob31=new person("任奎",22);
			var ob32=new person("文翊",22);
			
			document.write("学生姓名:"+ob31.pname+",年龄:"+ob31.page+",性别为:"+ob31.psex+"<br/>");
			document.write("学生姓名:"+ob32.pname+",年龄:"+ob32.page+"<br/>");
			//用对象调用方法
			ob31.show();
			ob32.show();

10.3:系统对象

  • Date 日期对象
  • Array 数组对象
  • Math 对数字作处理的对象
  • string 字符串对象
  • RegExp 正则表达式对象

10.3.1:正则表达式:

  • 表示一定规则的字符串.
eg: /^abc$/,/^\d{3}$/

10.3.2:字符串与正则表达式的匹配:

  • 语法1: 正则表达式对象.test(字符串) 结果boolean
  • 语法2: 字符串对象.match(正则表达式对象) 结果boolean
eg://声明手机号字符串
			var s1="15112603730";
			//声明正则表达式
			var reg=/^1[3-9]\d{9}$/;
			//验证手机号是否符合正则表达式
			if (reg.test(s1)) {
				alert("手机号符合要求");
			} else{
				alert("手机号不符合要求");
			}

11.JavaScript的数组:像java中数组和集合综合体.

11.1:数组的声明:

eg://第一种创建数组
			var arr1=[11,22,33];
			arr1[3]=55;
			
			//第二种创建数组
			var arr2=new Array();
			arr2[0]="张三";
			arr2[1]=true;
			arr2[3]=null;
			
			//第三种创建数组
			var arr3=new Array(2);
			arr3[0]="张三";
			arr3[1]=true;
			arr3[2]=null;
			
			//第四种创建数组
			var arr4=new Array("aa","bb","cc");

11.2:向数组中添加值

eg://第一种向数组中添加元素
			arr4[3]="abc";
			
			//第二种向数组末尾添加元素
			arr4.push("qq","ww");
			
			//第三种向数组开头添加元素
			arr4.unshift("uu");

11.3:修改数组中值

eg://第一种修改数组中元素
			arr4[0]="cc";
			
			//第二种修改数组中元素:splice(索引,删除元素个数,要添加元素) 方法向/从数组
			//中添加/删除项目,然后返回被删除的项目。
			arr4.splice(1,3,"as","bs","cs");

11.4:删除数组中值

eg://第一种删除数组中第一个元素
			arr4.shift();
			
			//第二种删除数组中最后一个元素
			arr4.pop();
			
			//第三种删除指定索引位置元素,位置还在
			delete arr4[1];
			
			//第四种删除所有元素
			arr4.length=0;

11.5:遍历数组 :

eg://遍历数组
			for(var i=0;i<arr4.length;i++){
				document.write(arr4[i]+"<br/>")
			}

11.JavaScript中选择结构和while,do-while,for与Java中用法一样.

  • 注意:JavaScript中没有foreach结构,但是有for-in
  • for-in遍历数组,遍历的是数组索引
  • for-in遍历对象,遍历的是对象属性名
eg://for-in遍历数组,遍历的是数组索引
			for(var n in arr4){
				document.write(n+",值:"+arr4[n]+"<br/>")
			}
			
			//for-in遍历对象,遍历的是对象属性名
			var ob1={"sname":"金航","sage":"23"};
			for(var n2 in ob1){
				document.write(n2+",属性值为:"+ob1[n2]+"<br/>")
			}

12.函数:相当于java中方法.

12.1:自定义普通函数:function 函数名(参数1,参数2…){

[return 返回结果;]
			    }

12.2:自定义匿名函数:



var 变量名= function(参数1,参数2...){
		[return 结果;]
}
eg:function show1(){
				alert("这是一个无参无返回值的函数");
			}
			
			function show2(a){
				alert("这是一个有参无返回值的函数,参数为:"+a);
			}
			
			function show3(){
				return "这是一个无参有返回值的函数";
			}
			
			function show4(a,b){
				return "这是一个有参有返回值的函数参数为a="+a+",b="+b;
			}
			
			var show5=function(){
				alert("这是一个匿名函数");
			}

12.3:函数的调用:

12.3.1:普通函数调用:函数名(实参1,实参2…);

  • var 变量=函数名(实参1,实参2…);

12.3.2:匿名函数的调用: 变量名(实参1,实参2…);

eg:<input type="button" value="调用无参无返回值的函数" onclick="show1()"/><br />
		<input type="button" value="调用有参无返回值的函数" onclick="show2('哈哈哈')"/><br />
		<input type="button" value="调用无参有返回值的函数" onclick="alert(show3())"/><br />
		<input type="button" value="调用有参有返回值的函数" onclick="alert(show4('abc',123))"/><br />
		<input type="button" value="调用有匿名函数" onclick="show5()"/><br />

12.4:系统函数:

  • isNaN() 检查某个值是否是非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果是数字值,则返回 false。
  • parseFloat() 解析一个字符串并返回一个浮点数。
  • parseInt() 解析一个字符串并返回一个整数。
  • eval() 将JavaScript 字符串作为脚本代码来执行。
eg://系统函数的使用
			var n1=11;
			var n2="11";
			var n3="s11";
			//isNaN(n1)只判断变量引号中内容(值),不包括引号
			document.write(isNaN(n1)+","+isNaN(n2)+","+isNaN(n3)+"<br/>");//false,false,true
			document.write(n1+n2);//1111
			document.write(parseInt(n1)+parseInt(n2)+"<br/>");//22
			
			var s1="{'sname':'aa','sage':'22'}";
			document.write(typeof(s1)+"<br/>");//string
			var s2=eval("("+s1+")");
			document.write(typeof(s2)+"<br/>");//object
			document.write("对象的属性为:"+s2.sname+","+s2.sage);

			//对象数组
			var arr=[{"sname":"aa","sage":11},{"sname":"bb","sage":11}];
			for(var i=0;i<arr.length;i++){
				alert(arr[i].sname+","+arr[i].sage);
			}

总结
1.js定义
2.js的作用
3.js的组成
4.js语言特色
5.页面引入js方式
6.js输出
7.变量和数据类型
8.对象
9.数组
10.函数