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"

  • 相关阅读:
    Hdu 1257 最少拦截系统
    Hdu 1404 Digital Deletions
    Hdu 1079 Calendar Game
    Hdu 1158 Employment Planning(DP)
    Hdu 1116 Play on Words
    Hdu 1258 Sum It Up
    Hdu 1175 连连看(DFS)
    Hdu 3635 Dragon Balls (并查集)
    Hdu 1829 A Bug's Life
    Hdu 1181 变形课
  • 原文地址:https://www.cnblogs.com/sutao/p/7028313.html
Copyright © 2011-2022 走看看