zoukankan      html  css  js  c++  java
  • Function_basic

    1.没有重载

      在JS中,函数名相当于一个指针,指向函数对象的地址,当声明两个同名函数时,后声明的函数会覆盖先声明的函数。

    2.函数的内部属性

      1.arguments对象

        类数组对象,包含传入函数的所有参数。

        callee:是一个指针,指向拥有这个arguments对象的函数。

        

    <!--经典的递归函数(低耦合)-->
    function factorial(num){
        if(num<=1)
         {
             return 1;
         }
        else{
            return num*arguments.callee(num-1);
        }      
    }   

      2.this

      指向调用当前函数的对象

      3.caller  

      保存调用当前函数的函数的引用,如果在全局作用域内调用此函数,会返回null

    3.函数的方法  (apply/call-设置函数内this对象的值)

      应用某个对象的一个方法,使用另一个对象替换当前对象

      apply(thisObj [, argArray])  /  call(thisObj [,arg1[,arg2...] ])

        如果argArray不是一个有效数组或者不是argument对象,会报TypeError错误

        如果没有指定thisObj,就会将Global对象当成thisObj

    window.color="red";
    var o={color="blue"};
    function sayColor(){
        alert(this.color);
    }
    sayColor();        //red
    sayColor.call(this);    //red
    sayColor.call(o);        //blue    
  • 相关阅读:
    [LeetCode 题解]: Remove Duplicates from Sorted List
    [LeetCode 题解]: Merge k Sorted Lists
    [LeetCode 题解]: Insertion Sort List
    [LeetCode 题解]:Candy
    求任意多边形面积 python实现
    C++飞机大战
    version robot
    python一段代码 感受一下
    微机原理上机第四次实验内容
    初步的百度爬虫
  • 原文地址:https://www.cnblogs.com/controlms/p/7728977.html
Copyright © 2011-2022 走看看