• js函数知识点(一)


    一、函数声明的方式

    function 函数名(参数列表){ 函数体; return 返回值}   问题:会被声明提前

    给出以下解决方案:

    var函数名=function (参数列表){ 函数体; return 返回值}   不会被声明提前

    var 函数名=new Function("参数1","参数2",...,"函数体;...")   

    强烈不推荐使用,因为这种方式会导致解析两次代码,影响性能。

    有关这三种声明方式的区别,可以看这篇博文学习:http://blog.csdn.net/ll641058431/article/details/52319737

      

    二、重载

    js语法默认不支持重载,最后创建的会覆盖之前创建的所有

    解决方法:arguments

     1 function pay(                   ){
     2      //arguments[         ,         ].length
     3               //     0           1
     4      if(arguments.length==0)
     5       console.log("手机支付...");
     6      else if(arguments.length==1)
     7       console.log(
     8         "现金支付...收款金额:"+arguments[0]);
     9      else
    10       console.log(
    11         "刷卡结账...卡号:"+arguments[0]);
    12     }
    13 
    14     pay();//手机支付...
    15     pay(100);//现金支付...
    16     pay("6553 1234","123456");//刷卡结账...

    也可直接用 arguments 做参数不确定的操作

    1 function add(){
    2       var sum=0;
    3       for(var i=0;i<arguments.length;i++){
    4         sum+=arguments[i];
    5       }
    6       return sum;
    7     }

    三、匿名函数

    创建时不指定函数名

    为什么:

        1. 节约内存

        2. 划分临时作用域

        何时: 只要一个函数使用后,希望立刻释放时

        如何:

          1. 回调(callback): 将一个函数,交给另一个函数去自动调用。

           比如:    arr.sort(function(a,b){return a-b;})

                       xhr.onreadystatechange=function(resText){}

                btn.onclick=function(){}

                str.replace(/正则/,function(kw){return xxx});

          2. 自调: 定义函数后,立刻调用自己

            何时: 几乎所有自定义的脚本,都要放在匿名函数中

            为什么: 避免使用全局变量,避免全局污染

            如何:

              1. (function(...){...})()

              2. +function(...){...}()

    (function(){
          var start=new Date();
          alert("开始加载网页内容...at:"+start.toLocaleTimeString());
        })();
    

      

  • 相关阅读:
    css 设置特定条件下的标签
    vue实现导航菜单滚动
    input 默认样式样式 样式修改
    vue 倒计时
    微信小程序 botton默认样式删除
    Notepad++ 快捷键
    css实现div水平垂直居中
    Python爬虫爬取1905电影网视频电影并存储到mysql数据库
    Python爬虫爬取搜狐视频电影并存储到mysql数据库
    第一阶段(十)
  • 原文地址:https://www.cnblogs.com/tanghm/p/7581731.html
Copyright © 2020-2023  润新知