zoukankan      html  css  js  c++  java
  • JS函数

    JS函数:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块

    四要素:返回类型、函数名、参数列表、函数体

    函数的作用:减少代码的冗余

    对于强类型语言函数:

    1.返回型函数

    <script type="text/javascript">
    public int Suan(int a,int b){
           return a+b;  // 在强类型语言中,出现return这个函数就结束,相当于for循环中的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() //获取年份y
        b.getMonth()+1; //获取月份m
        b.getDate() //获取天d
        b.getHours() //获取小时h
        b.getMinutes() //获取分钟i
        b.getSeconds() //获取秒数s
        b.getDay() //获取星期几
        b.getMilliseconds() //获取毫秒ms
        </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"

  • 相关阅读:
    XidianOJ 1073 Nunchakus
    XidianOJ 1024 2的幂次表示
    XidianOJ 1072 National Disaster
    XidianOJ 1093 一元三次方程
    中国剩余定理
    bzoj2818(欧拉函数递推)
    poj2311(博弈论,sg函数)
    contesthunter#46-A(分块)
    Tree,点分治
    poj3580(splay 毒瘤题)
  • 原文地址:https://www.cnblogs.com/sutao/p/7028313.html
Copyright © 2011-2022 走看看