zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计(二)

    一、函数

    1.1 JS中函数无重载,同一作用域下定义两个函数,而不会引发错误,但真正调用的是后面定义的函数。例如:

    function doAdd(iNum){
      alert(iNum+100);
    }
    
    function doAdd(iNum){
      alert(iNum+10);
    }
    
    doAdd(10);//结果为20,第二个函数覆盖了第一个

    1.2 arguments 对象,arguments.length返回传递给函数参数的个数。我们可以用arguments模拟函数重载。

    function doAdd(){
      if(arguments.length==1){
        alert(arguments[0]+10);
    } else if(arguments.length==2){
        alert(arguments[0]+arguments[1]);
    }
    }
    
    doAdd(10);// 输出20
    doAdd(30,10)//输出40

    1.3  Function类直接创建

    var function_name=new Function(argument1,argument2,……,function_body)
    //每一个argument都是参数,最后一个是执行主体代码。这些参数都必须是字符串。
    var odAdd=new Function("iNum",,"alert(iNum+100)");

     1.4  对象类的函数

      slice()和String类的一样。

    var aStr=["aa","bb","cc","dd"]; var sStr=aStr.slice(1);//当只有一个参数时返回从该位置到数组结尾处所有项。bb,cc,dd

    var aStr=["aa","bb","cc","dd"]; var sStr=aStr.slice(0,3);//当只有两个参数时返回他们之间的所有项,不包括第二个位置项。aa,bb,cc

    push()//存入数组尾部

    pop()//删除最后一个,返回它作为函数值。

    shift()//删除第一个项,返回它作为函数值。

    unshift()//把一个项放在第一个位置,其余项向后移动一个位置。

    sort()//升序排列

    1.5 数组迭代方法

    every():对数组中每一项运行给定函数,如该函数对每一项都返回true,则返回true;

    var numbers = [1,2,3,4,5,6];
    var everyResult=numbers.every(function(item,index,array){
    return (item >2)});
    alert(everyResult);//false

    some():对数组中每一项运行给定函数,如该函数对有一项返回true,则返回true;

    var numbers = [1,2,3,4,5,6];
    var someResult=numbers.some(function(item,index,array){
    return (item >2)});
    alert(someResult);//true

    filter():它利用指定的函数确定是否在返回的数组中包括某一项。

                            

    多看一行书,就少写一行代码,记录点滴,用心生活。
  • 相关阅读:
    唱歌循序渐进
    523法则
    南北朝鲜
    全名K歌
    《如何进行接口mock测试》
    vue动态添加路由,跳转页面时,页面报错路由重复:vue-router.esm.js?8c4f:16 [vue-router] Duplicate named routes definition: { name: "Login", path: "/login" }
    npm install -g 和npm install --save-dev的关系
    vue项目安装依赖项的时候总是报错
    聊聊 OAuth 2.0 的 Token 续期处理
    Spring Security OAuth 格式化 token 输出
  • 原文地址:https://www.cnblogs.com/aegisada/p/4041703.html
Copyright © 2011-2022 走看看