首页 > 代码库 > JS函数

JS函数

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"

 

JS函数