JS函数:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块
四要素:返回类型、函数名、参数列表、函数体
函数的作用:减少代码的冗余
对于强类型语言函数:
1.返回型函数
<script type="text/javascript"> public int Suan(int a,int b){ return a+b; // 在强类型语言中,出现return这个函数就结束,相当于JS中的break } </script>
2.没有返回值的
<script type="text/javascript"> public void Suan(int a,int b){ //void代表为空 } Suan(1,2); </script>
注意:1.参数列表写形参(形式参数)
2.调用函数的时候给的参数为实参(实际参数)
3.变量的命名规范:一般字母打头,尽量不出现特殊符号,一般为小写
4.函数名的规范:一般字母打头,尽量不出现特殊符号,首字母小写的驼峰法命名方式,比如:tuoFengFa
下面看JS弱类型语言:
1.简单的函数
<script type="text/javascript">
function ceShi(){
alert("这是测试的函数");
}
//调用函数
ceShi();
</script>

2.有参数的函数
<script type="text/javascript">
function ceShi(a,b){
alert(a+b);
}
ceShi(3,6);
</script>

3.有默认值的(JS不支持,但其他语言都支持,以后遇到要知道)
/* <script type="text/javascript"> function ceShi(a,b=6){ alert(a+b); } ceShi(2); </script>*/
4.有返回值的函数
<script type="text/javascript">
function ceShi(a,b){
return a+b;
}
var c = ceShi(3,6);
alert(c);
</script>

*******有特定作用的代码,我们可以把这些代码封装成一个函数,例如冒泡排序*******
<script type="text/javascript">
//例子:冒泡排序
//作用:给我一个数组,我把它排好序返回
function paiXu(arr){
var zj = 0;//中间变量
//第一次for用来控制比较的轮数,i代表轮次
for(var i=1;i<arr.length;i++){
//控制每轮比较几次的
for(var j=0;j<arr.length-i;j++){
if(arr[j]<arr[j+1]){
//实现交换
zj = arr[j];
arr[j]=arr[j+1];
arr[j+1]=zj;
}
}
}
//排号的数组返回
return arr;
}
var a = new Array(3,69,8,5,1,0);
a = paiXu(a);
alert(a[5]);
</script>

<script type="text/javascript">
//例子:冒泡排序
//作用:给我一个数组,我把它排好序返回
function paiXu(arr){
var zj = 0;//中间变量
//第一次for用来控制比较的轮数,i代表轮次
for(var i=1;i<arr.length;i++){
//控制每轮比较几次的
for(var j=0;j<arr.length-i;j++){
if(arr[j]<arr[j+1]){
//实现交换
zj = arr[j];
arr[j]=arr[j+1];
arr[j+1]=zj;
}
}
}
//排号的数组返回
return arr;
}
var a = new Array(3,69,8,5,1,0);
a = paiXu(a);
alert(a[0]);
</script>

还有一种形式:能把重复的代码用左边的“+,-”收缩、伸长

已经成型的函数:
1.Math.random()
<script type="text/javascript">
//生成随机数
alert(Math.random()); //返回0~1之间的随机数
alert(Math.random()*10); //返回0~10之间的随机数
alert(paresInt(Math.random()*10)); //返回0~10之间的随机整数
</script>
2.日期时间函数(需要用变量调用)
<script type="text/javascript">
var b = new Date(); //获取当前时间
b.getTime() //获取时间戳
b.getFullYear() //获取年份
b.getMonth()+1; //获取月份
b.getDate() //获取天
b.getHours() //获取小时
b.getMinutes() //获取分钟
b.getSeconds() //获取秒数
b.getDay() //获取星期几
b.getMilliseconds() //获取毫秒
</script>
3.数学函数(用Math来调用):
abs(x) 返回数的绝对值。
ceil(x) 对数进行上舍入。 ****
floor(x) 对数进行下舍入。 ****
round(x) 把数四舍五入为最接近的整数。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
sqrt(x) 返回数的平方根。
random() 返回 0 ~ 1 之间的随机数。 ****
<script type="text/javascript"> alert(Math.ceil(1.2)); </script>

<script type="text/javascript"> alert(Math.floor(1.2)); </script>

4.字符串函数(用变量来调用):
indexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
<script type="text/javascript">
var str = "hello";
var s = "o";
alert(str.indexOf(s));
</script>

5.substring
返回字符串的一个子串,传入参数是起始位置和结束位置。
<script type="text/javascript">
var str = "hello nihao";
alert(str.substring(0,5));
</script>

<script type="text/javascript">
var str = "hello nihao";
alert(str.substring(1,5));
</script>

6. substr ********
返回字符串的一个子串,传入参数是起始位置和长度
<script type="text/javascript">
var str = "hello nihao";
alert(str.substr(0,5));
</script>

<script type="text/javascript">
var str = "hello nihao";
alert(str.substr(1,4));
</script>

7.replace *******(也叫查找替换)
替换字符串,第一个参数代表被替换的字符串,第二个参数代表替换的字符串
<script type="text/javascript">
var str = "hello world";
str = str.replace("hello","*****");
alert(str);
</script>

8.split ******(拆分字符串)
通过将字符串划分成子串,将一个字符串做成一个字符串数组。
<script type="text/javascript">
var str = "hello world";
var arr = str.split("r");
alert(arr[0]);
alert(arr[1]);
</script>


9.length 属性 *******
返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。
10.其他函数
charAt
返回指定位置的字符。
var get_char = a.charAt(0);
//get_char = "h"
lastIndexOf
返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。
var index1 = lastIndexOf(‘l‘);
//index1 = 3
match
检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。
var re = new RegExp(/^\w+$/);
var is_alpha1 = a.match(re);
//is_alpha1 = "hello"
var is_alpha2 = b.match(re);
//is_alpha2 = null
search
执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
var index1 = a.search(re);
//index1 = 0
var index2 = b.search(re);
//index2 = -1
toLowerCase
将整个字符串转成小写字母。
var lower_string = a.toLowerCase();
//lower_string = "hello"
toUpperCase
将整个字符串转成大写字母。
var upper_string = a.toUpperCase();
//upper_string = "HELLO"
原文:http://www.cnblogs.com/sutao/p/7028313.html