• 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():它利用指定的函数确定是否在返回的数组中包括某一项。

                            

    多看一行书,就少写一行代码,记录点滴,用心生活。
  • 相关阅读:
    [LeetCode] 394. Decode String 解码字符串
    [LeetCode] 393. UTF-8 Validation 编码验证
    [LeetCode] Is Subsequence 是子序列
    [LintCode] Maximum Gap 求最大间距
    [LintCode] Nuts & Bolts Problem 螺栓螺母问题
    [LintCode] Kth Smallest Number in Sorted Matrix 有序矩阵中第K小的数字
    [LeetCode] Perfect Rectangle 完美矩形
    LaTex Remove Left Margin 去除左边空间
    LaTex Font Size 字体大小命令
    [LintCode] Continuous Subarray Sum 连续子数组之和
  • 原文地址:https://www.cnblogs.com/aegisada/p/4041703.html
Copyright © 2020-2023  润新知