Javascript:基于对象与事件驱动的脚本语言,主要用于客户端
特点:
交互性:信息动态交互。
安全性:不能访问本地硬盘。
跨平台性:只要有浏览器就支持Javascript,与平台无关。
Javascript与HTML结合方式:
变量:
var x = 4;(无明显类型) 3140/1000*1000=3140
typeof(123) = number "12"+1="121"
typeof("abc") = string "12"-1="1"
typeof(3.45) = number "99"-1=NaN(非法字符)
运算符与语句:while(){} if(){}else{} switch(){}
写在html中:document.write(""); 换行:document.write("
");
函数: function show(){... return ...;}。函数可以内部得到实参数组,arguments[...],并带有length属性。var sum = show;无括号表示sum函数主体
动态函数:var func = new function("x,y", "sum=x+y;return sum;");
匿名函数:var func = function(){alert("over");} 一般用于事件的调用。
变量的作用域:只有定义在函数内的变量才是局部变量,其他都全局。for(var i=0;i<5;i++){...}中的i也是全局变量。
数组:arr = [3,5,8]
特点:
容器用于存储数据
长度是可变的
元素类型是任意的
字符串可以直接比较
var arr2=new Array(2); --> 两个数组
var arr2 = new Array(3,9) --> 两个数组,内容是3和9
自己写了一个function,如String比较大小,找最大值getMax()函数,想添加到工具类中,则可以:
Array.prototype.max = getMax();var Array = [3,5,8];
var ret = Array.max();document.write(ret);....
也可以直接Array.prototype.max = function(){...;return;};
也可以使用.js文件,在想使用的.html中导入.js文件即可,如trim()方法。
String.prototype.trim = function(){
var start = 0,end = this.length - 1;
while(start <= end && this.charAt(start)==""){
start++;
}
while(start <=end && this.charAt(end)==""){
end--;
}
return this.substring(start,end);
};
Javascript面向对象:
function Person(x,y){ //相当于定义类
this.age = x;
this.name = y;
this.show = function(){....};
}
var p = new Person(...,...);
p.number = xxx; //任意加入属性成员
Person类也能加入新功能,Person.prototype.toString = function(){....};
Javascript特有语句:
p1.set(); --> with(p1){
p1.get(); --> set();get();}
for(变量 in 对象) {} --> 用于遍历对象与数组,如for(x in p1) {alert(x+":"+p1[x]);}可以遍历输出属性与方法。