函数就是完成某个功能的一组语句,js中的函数由关键字 function + 函数名 + 一组参数定义;函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织
结构更多清晰。
其语法结构为
function funName (arg0, arg1, … argN){
//statements
}
function say_hello (name, msg){ alert(“hello”+ name + “:”+ msg); } say_hello(“david”, “how are you today?”);
js中函数有两种方式:1声明函数;2函数表达式
上面的例子用的是声明函数,即由关键词function开头的函数,函数首先指定了函数名,即上面例子中的say_hello,直接使用函数名外加()即可调用函数。
函数表达式一般都没有函数名,它通常是某一事件的匿名函数,如
document.onclick=function(str){ alert(str); }
return语句是函数中经常用到的,在使用return时由一下几点需要注意
1.位于return 语句之后的任何代码都永远不会执行!
2.在JavaScript中,不一定要指定返回值!
3. 定义函数的参数时,如果调用函数时没有传进参数,并不会报错,但可以在函数里面判断一下是否有传进参数。
在使用函数时对于全局变量和局部变量也应该有一定的了解:
全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以在这个脚本的任何位置(包括函数内部)引用它,全局变量的作用域是整个脚本;
局部变量:只存在于对它做出声明的函数内部,在函数的外部无法相用它,局部变量的作用域仅限于函数内部;
例如:
function square(num){ var total; total = num * num; return total; } var total = 50; alert(total); var number = square(20); alert(total);
js中还有以下几种内部函数
1.eval 接受一个字符串类型的参数,将这个字符串作为代码在上下文环境中执行,并返回执行的结果;
2.parseInt 和 parseFloat 将字符串转换为数字,前者转换的结果为整型,后者为浮点型
3.escape 和 unescape进行URL编码和解码,这种方法通常用于给服务器传递URL时。
Javascript是一种面向对象的语言,因此可以使用面向对象的思想来进行javascript程序设计。对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体。
1.Date 日期对象用来处理日期和时间。
如
var myDate = new Date(); myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours(); //获取当前小时数(0-23) myDate.getMinutes(); //获取当前分钟数(0-59) myDate.getSeconds(); //获取当前秒数(0-59) myDate.getMilliseconds(); //获取当前毫秒数(0-999) myDate.toLocaleDateString(); //获取当前日期 var mytime=myDate.toLocaleTimeString(); //获取当前时间 myDate.toLocaleString(); //获取日期与时间
2.Math对象
Math 对象用来处理复杂的数学运算Math对象是javascript的一个全局对象,不需要用new 创建。
Math对象的方法有以下数种
Math.abs(-2); 该方法可返回一个数的绝对值。
Math.round(5.5); 该方法可把一个数字舍入为最接近的整数。
Math.random(); 该方法可返回介于 0(包含) ~ 1(不包含) 之间的一个随机数。
Math.ceil(1.4); ceil() 方法返回大于等于x的最小整数。(取大整)
Math.floor(1.6); floor() 方法返回小于等于x的最大整数。(取小整)
Math.pow(4,3); pow() 方法返回 x 的 y 次幂。 (4的3次方)
例:
var luckey=Math.round(3*Math.random()); var str="谢谢参与"; if(luckey==1){ str="马尔代夫七人七日游"; } str+="您的号码是 :"+luckey; alert(str);
Array 数组对象
数组对象是js中十分重要的一种对象。定义数组的 3种方式为
var week = new Array();
var week = new Array(‘星期一’ , ‘星期二, ‘星期三’);
var week = [‘星期一’ , ‘星期二, ‘星期三’];
数组都有length属性,表示数组中元素的个数。如week.length。获取数组中某个元素需要用到[],如week[2],表示的就是数组中序号为2的元素,因为数组中的元素的序号都是以0开始的,故而序号2表示的是数组中的第三个元素。
var arr=["标题1","标题二","标题三","标题四","标题五","标题六","标题七"]; alert(arr[3])//标题四
数组中添加元素的方法有
1.push
2.unshift
前者表示将一个或多个新元素添加到数组结尾,并返回数组新长度。后者则将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度。
例:
var arr=["标题1","标题二","标题三","标题四","标题五","标题六","标题七"]; arr.push("come","let's go"); arr.unshift("look ","boy") for(var i=0;i<arr.length;i++){ document.write("<br>"+arr[i]); }