common.js文件
//====================================================
//匿名函数
var fun1 = function (i, j) {
return i + j;
}
//alert(fun1(20, 30));
//====================================================
//面向对象
var Person = function (name, age) {
this.Name = name;
this.Age = age;
this.SayHello = function () {
alert(name + ":世界你好");
}
}
p1 = new Person("大李", 27);
//p1.SayHello();
//====================================================
//练习1 .定义一个求数组中最大值的函数
function GetMax(arr) {
var max = arr[0];//假设索引为0的第一项就是最大的值
for (var i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
//测试上面的函数
arr1 = new Array();
arr1[0] = 20;
arr1[1] = 100;
arr1[2] = 80;
//alert(GetMax(arr1));//100
//简化创建数组
arr2 = [20, 30, 40, 2, 33, 91, 88];
//alert(GetMax(arr2));//91
//====================================================
//练习2. 将一个字符串数组的顺序反转
function MyReversal(arr) {
//第0个和第length-1个互换位置
//第1个和第length-2个互换位置
//第2个和第length-3个互换位置
//so,经过分析
var temp;
for (var i = 0; i < arr.length/2; i++) {
temp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = temp;
}
return arr;
}
//测试上面的函数
//arr3 = ["呵呵", "嘿嘿", "哈哈","嘎嘎"];
//for (var i = 0 ;i<arr3.length; i++) {
// alert(arr3[i]);
//}
//arr4 = MyReversal(arr3);
//for (var i = 0 ; i < arr4.length; i++) {
// alert(arr4[i]);
//}
//====================================================
//练习3.定义一个自定义函数实现将一个字符串数组输出为以|分割的形式,如: "张三|李四|王五|赵六"
function mysplit(strarr) {
var sb = strarr[0];//第一个前面不加分隔符
for (var i = 1; i < strarr.length; i++) {
sb = sb+ "|" + strarr[i];//从第二个开始,前面加|分隔符后拼接
}
return sb;
}
//测试上面的函数
//arr5 = ["疯汉", "锋芒", "老子", "大爷"];
//window.alert(mysplit(arr5));
//====================================================
//Array不仅可以当数组使用,还可以当作Dictionary使用
dicArr = new Array();
dicArr["中国"] = 'China';
dicArr["美国"] = 'America';
dicArr["苏联"] = 'Russia';
dicArr["日本"] = 'Japan';
//for (item in dicArr) {
// alert(item + ":" + dicArr[item]);
//}
//Array当作Dictionary使用的时候简化初始化
dicArr2 = { "中国": "China", "美国": "America", "俄罗斯": "Russia","日本":"Japan" };
//for (item in dicArr2) {
// alert(item + ":" + dicArr[item]);
//}
html代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript" src="common.js"></script>
</head>
<body>
呵呵
</body>
</html>
动态绑定函数
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
function myfun2() {
alert("大疯起兮云飞扬!");
}
window.onload = function () {
//动态绑定一个匿名函数
document.getElementById("btn1").onclick = function (name) {
alert("你好" + name);
};
//动态绑定一个已经存在的函数(不能加(),js的执行顺序,遇到fun(),会直接执行fun(),因为上面的myfun2()是没有返回值的,而且就算有返回值也不会返回一个方法)
//document.getElementById("btn2").onclick = myfun2();//error
document.getElementById("btn2").onclick = myfun2;
}
</script>
</head>
<body>
<form action="#" method="get">
<input type="button" value="你好" id="btn1"/>
<input type="button" value="你二" id="btn2"/>
</form>
</body>
</html>