JavaScript中的方法(function)
方法定义需要注意的地方
- 方法中不需要写参数的类型。
function(a){...};
- 方法可以不命名,将方法赋值给参数,通过参数调用方法。
var fun = function(){...};
- 在JavaScript中不存在方法重载,在声明一个函数时,会自动查找内存中是否存在同名函数,如果存在,会将还方法覆盖,在JavaScript中内存中只保存方法名字,不保存方法参数。
- 方法参数保存在内置对象中,arguments,可以通过arguments来调用传入的参数
方法定义的三种方式
第一种方式
function fun(a,b){
document.write(a+","+b);
}
fun(3,4); //输出3,4
第二种方式
var fun = function(a){
document.write(a);
}
run(3); //输出3
第三种方式
var params = "a,b"; //定义参数
var str = "document.write(a+','+b)"; //定义函数体
var say = new Function(params,str);
say(3,4); //输出3,4
常用的系统方法
- encodeURI(将中文进行编码成一个字符串)
- decodeURI(将解码后的中文解析成中文)
- parseInt(将数据转化为整型数据)
- parseFloat(将数据转化为浮点型数据)
- isNaN(用来判断是否为NaN,常和parseInt,parseFloat一起使用)
- eval(将字符串中的运算做出来)
- toLocaleString(将系统时间转化为当前时间 2017/9/6 下午10:16:29)
- toLocaleDateString(将系统时间转化为日期时间 2017/9/6)
- toLocaleTimeString(将系统时间转化为钟点时间 下午10:16:29)
定时器和间隔器
- 定时器setTimeout(“fun()”,1000) 表示1秒后执行fun()
- 间隔器setInterval(“fun()”,1000) 表示每隔1秒执行一次fun()
时钟案例
function fun(){
var time = new Date();
var v = document.getElementById("aa");
v.innerHTML = time.toLocaleTimeString();
}
setInterval("fun()",1000);
function fun2(){
var time = new Date();
var v = document.getElementById("bb");
v.innerHTML = time.toLocaleTimeString();
setTimeout("fun2()",1000); //使用递归调用实现
}
setTimeout("fun2()",1000);