标签:
一,js的函数
1. 在java里面定义方法
public void/int 方法名称(参数列表) {
方法体和返回值;
}
2. 在js里面定义函数有三种方式
第一种:使用关键字 function 方法名称(参数列表) {方法体和返回值}
· 注意一:参数列表,不需要写类型(var),直接写参数名称
· 注意二:返回值,根据实际需要可以有也可以没有
代码示例:
//实现2个数相加
function add1(a,b) {
var sum = a+b;
return sum;
}
add1(2,3);
第二种:匿名函数,使用关键字function(参数列表) {方法体和返回值;}
代码示例:
var test1 = function(a,b) {
return a+b;
}
test1(3,4);
第三种:动态函数(方法体和返回值,包含参数列表都是通过参数传递进来的)
· 使用js里面的内置对象new Function("参数列表","方法体和返回值");
代码示例:
var param = "a,b";
var method = "var sum;sum=a+b;return sum;";
var test2 = new Function(param,method);
test2(5,6);
二,js的函数的重载
1. 在java里面存在重载,方法名称相同,参数列表不同
2. js里面是否存在函数的重载?
首先,在js里面不存在函数的重载。
但是,可以使用js函数里面arguments数组模拟重载的效果
3. 模拟重载的效果
代码示例:
//在js函数里有一个数组arguments,保存传递进来的参数
function add1(){
	var sum=0;
	for(var i=0;i<arguments.length;i++){
		sum += arguments[i];
	}
	return sum
}1. 什么是事件:在html的元素里面可以出发事件调用js里面的函数
2. 在html的标签上有三种方法使用事件:
· 第一种:使用事件属性调用js方法
代码示例:
<input type="button" value="第一种方法" onclick="add1();"/>
· 第二种:首先得到要绑定的标签,再使用事件的属性
document.getElementById("buttonid1").onclick = add1;
· 第三种:首先得到要绑定的标签,写js的代码
document.getElementById("buttonidid2").onclick = function(){alert("aaa");};
四,js的常用事件
1. onload事件和onclick事件
· onload : html页面在加载的时候触发事件,调用相应的js方法
<input type="text" onclick="test2();">
· onclick : 鼠标点击事件
2. onfocus事件和onblur事件<input type="text" onclick="test();">
· onfocus : 获取焦点
· onblur : 失去焦点
3.onmouseover 鼠标被移到某元素之上
onmouseout 鼠标从某元素移开
4. onkeypress :点击键盘上的某个键调用方法
<input type="text" id="textid" onkeypress="key(event);"/>
function key(obj) {//根据obj.keyCode知道每个按键对应的code
if(obj.keyCode==13) alert("key");
}
五,js的dom对象
1. 什么是dom:document object model:文档对象模型
·文档:指的是标记型文档(html/xml)
· 对象:在对象里面有属性和方法:使用dom里面提供的属性和方法,对标记型文档进行操作
· 如果要使用dom对象标记型文档进行操作,首先需要解析标记型文档(html为例)
html中包含 标签、属性、文本内容
2. 使用dom解析html
· 解析过程:根据html的层级结构在内存中分配一个树形结构
· document对象,代表整个文档
· element对象,代表标签
· 属性对象
· 文本对象
· Node节点对象,是这些对象的父对象,在找不到想要使用的方法,到Node里面找
六,document对象
1. document对象代表整个文档
2. 方法
· 第一个:write(),向页面输出内容,可以输出html代码
document.write("<hr/>");
· 第二个:getElementById():获取标签对象,通过标签的id值进行获取
var input1 = document.getelEmentById("textId");
· 第三个:getElementsByName():根据标签里面的name属性的值得到标签对象,返回数组
var names = document.getElementsByName("username");
for(var i=0; i<names.length; i++) {
var name= names[i];
document.write(name.value);
}
· 如果只要一个标签,返回的也还是一个数组,可以不用遍历,直接通过数组的第一个角标位0来获取
七,innerHTML属性
1. innerHTML属性不是dom里面的属性
2. 实现什么功能?
· 第一,获取标签里面的文本内容
var span1 = document.getElementById("spanid");
alert(span1.innerHTML);
· 第二,向标签里面设置内容(可以写html代码)
var div1 = document.getElementById("div1");
div1.innerHTML = "<table border=‘1‘><tr><td>aaa</td><td>bbb</td></tr></table>
八,练习:动态生成表格
1. 练习需求:在页面中可以获取用户输出的2个数字,动态生成一个表格。表格的行和列就由这2个数字决定
2. 实现步骤:
· 首先创建页面,在页面上有2个普通输入项和按钮(按钮产生事件)
· 点击按钮,可以生成对应的表格
· 需要得到输入的行和列,根据行和列生成表格
3. 代码实现:
<html>
	<head>
		<title>动态生成表格</title>
	</head>
	
	<body>
		行:<input type="text" id="rowId"/>
		列:<input type="text" id="colId"/>
		<br/>
		<input type="button" value="生成" onclick="made()"/>
		<br/>
		<div id="divid"></div>
	</body>
	
	<script type="text/javascript">
		function made() {
			var row = document.getElementById("rowId").value;
			var col = document.getElementById("colId").value;
			
			var tab = "<table border='1' cellspacing='0' cellpadding='5'>";
			for(var i=0; i<row; i++) {
				tab += "<tr>";
				for(var j=0; j<col; j++) {
					tab += "<td>aaa</td>";
				}
				tab += "</tr>";
			}
			tab += "</table>";
			var divid = document.getElementById("divid");
			divid.innerHTML = tab;
		}
	</script>
</html>1. 在html中写form标签,提交方式有三种:
· 第一种:在form标签里面,写提交按钮<input type="submit"/>
代码示例:form表单的action如果不写,默认提交当前页面
<form method="get">
username:<input type="text" name="username"/>
<br/>
password:<input type="password" name="password"/>
<br/>
<input type="submit" value="提交"/>
</form>
· 第二种方式:在form标签里面,写普通按钮<input type="button" onclick="form1();">
代码:
function from1(){
//得到form标签
var form = document.getElementById("form1");
form1.submit();
}
· 第三种方式:使用超链接提交数据
提交格式:<a href="要链接的地址?参数名称1=参数的值1&参数名称2=参数的值2">超链接</a>
十,表单校验
1. 规范数据的输入格式
2. 如何进行表单的校验
· 第一,使用submit进行表单提交,进行表单校验。使用onsubmit事件,在form标签里面
<form method="get" onsubmit="return checkForm();">
进行form表单校验的代码:
function checkForm() {
	//判断用户名不能为空
	var username = document.getElementById("usernameid").value;
	var password = document.getElementById("passwordid").value;
	if(username == "") {
		alert("用户名不能为空");
		return false;
	}
	if(password == "") {
		alert("密码不能为空");
		return false;
	}
	return true;
}
function form01() {
	//得到输入项里面的值,判断值是否为空,如果为空不进行提交
	var username = document.getElementById("usernameid").value;
	var password = document.getElementById("passwordid").value;
	//如果值为空,不进行提交
	if(username == "") {
		alert("用户名不能为空");
	} else if(password == "") {
		alert("密码不能为空");
	} else {
		//得到form标签
		var form01 = document.getElementById("form01");
		form01.submit();
	}
}
1. JavaScript Object Notation,JavaScript对象表示法。json是数据的交换格式,比xml更加轻巧
· json是JS的原生格式,通过js操作json不需要依赖其他东西,直接对json格式进行操作。
2. json数据格式:json有2种数据格式
第一种:json的对象格式
· 写法{json数据的名称1:json数据的值1,json数据的名称2:json数据的值2......}
· 类似于key-value形式
· 名称的值之间使用冒号隔开,多个值之间使用逗号隔开
· json数据的名称是字符串类型,json数据的值 string,number,object,array,true,flase,null
· 第二种:json的数组格式
· 写法[json对象1,json对象2......]
· 在数组里面如果有多个json对象,多个json对象之间使用逗号进行隔开
· 具体数据的格式:
[{"name":"zhangsan","age":20},{"name":"lisi","age":20}]
3.可以使用json这种2种格式组成更加复杂的json的格式
十二,js解析json
1. js解析json的对象的数据格式
· 通过json对象数据格式里面的name的名称得到对应的值
代码:
var json1 = {"username":"lucy","age":20,"addr":"nanjing"};
//对json的对象格式数据进行操作
document.write(json1.username);
document.write("<br/>");
document.write(json1.age);
document.write("<br/>");
document.write(json1.addr);2. JS解析json的数组的数据格式
· 根据数组的下标得到json对象,解析json对象,根据数据的名称得到值
· 遍历json数组,得到json数组里面每个json对象,解析每个json对象,根据json对象的数据的名称得到值
代码:
十三,json练习:人员信息的显示
要求:把多个人员的信息存到json的数据格式里面,通过js解析json的数据格式,把所有的人员显示到页面的表格里面
人员信息:[{"name":"zhangsan","age":20,"addr":"beijing"},
{"name":"lisi","age":30,"addr":"tinajin"},
{"name":"wangwu","age":40,"addr":"nanjing"}]
代码:
function showData() {
	var tab = "<table border='1' cellpadding='10'>";
	//添加表头
	tab += "<tr><th>姓名</th><th>年龄</th><th>地址</th></tr>";
	for(var i=0;i<persons.length;i++) {
		//得到数组里面的每个json对象
		var person = persons[i];
		//得到每个json对象里面值
		var name = person.name;
		var age = person.age;
		var addr = person.addr;
		//生成表格
		tab += "<tr><td>"+name+"</td><td>"+age+"</td><td>"+addr+"</td></tr>";
	}
	tab += "</table>";
	//alert(tab);
	//把table表格的代码显示到页面上,使用innerHTML属性
	//得到div标签
	var div1 = document.getElementById("div1");
	//向div里面写table代码
	div1.innerHTML = tab;
}标签:
原文地址:http://blog.csdn.net/zy_tiger/article/details/51883403