美文网首页
function形参和实参

function形参和实参

作者: MISS_3ca2 | 来源:发表于2020-08-13 09:20 被阅读0次

函数arguments属性解读函数传参:在函数调用的时候浏览器每次都会传递进两个隐式参数:函数上下文的this,封装实参的对象arguments

arguments属性为当前执行中函数对象返回arguments对象和参数,是所在函数的一个内置类数组对象

arguments对象不能显示的创建,只有在函数开始时才可用

arguments具有length属性,arguments.length为函数实参个数

在没有定义形参变量的情况下,传来了参数并被arguments接受 所以arguments是一个隐藏对象
function fn2(){
           console.log(arguments)
           console.log(arguments.length)
   }
 fn2();//Arguments [callee: ƒ, Symbol(Symbol.iterator): ƒ]    0
 fn2(2,3); //Arguments(2) [2, 3, callee: ƒ, Symbol(Symbol.iterator): ƒ]  2
在函数中定义形参接受参数
function fn3(x){
            console.log(x) // 1
            console.log(arguments); // 1,2,3,hello
            console.log(arguments[0]) //1
        }
        // 函数fn3定义了一个形参x 所以只接受第一个传过来的参数
        fn3(1,2,3,'hello')
...args展开运算符接受参数
function fn(a,b,...args){
            console.log(a,b,args) //1 2  [3, 4, 5, 6, 7]
        }
        fn(1,2,3,4,5,6,7)
arguments.callee 是一个指针,指向当前函数,这个函数没有当前的参数环境,是一个纯净的function实例,可以达到调用自身函数的效果,但是在严格模式中不适用
// 可以用arguments.callee来让匿名函数实现递归
var sum = function(n){
            if (n <= 0) return 1;
            else {
                return n +  arguments.callee(n - 1) 
            }
        }
        //比较一般的递归函数:
        var sum2 = function(n){
            if (1==n) return 1;
            else return n + sum2 (n-1); 
        }
        //调用时:
        console.log(sum(2)); //4
        console.log(sum2(2)); //3
正常模式下,arguments对象可以在运行的时候就行修改,严格模式下修改arguments对象不会影响到实际的参数
function f2(x,y){
            arguments[0] = 10;
            arguments[1] = 20;
            return x+y
        }
        function f3(x,y){
            'use strict'
            arguments[0] = 10;
            arguments[1] = 20;
            return x+y
        }
        console.log(f2(1,1))
        console.log(f3(1,1))

相关文章

  • 三种自执行函数

    三种写法: 1、!function(形参){}(实参) 2、(function(形参){}(实参)) 3、(fun...

  • 函数

    形参:函数完成其工作所需的一项信息。def function(param) 此时param就是形参实参:调用函数事...

  • C++ Primer: Functions

    1. 函数基础 形参和实参实参是形参的初始值. 形参和实参类型要一致, 顺序要对应. (但编译器具体按什么顺序求值...

  • 函数闭包

    定义形式: 传入实参时实参可多于形参也可少于形参 实参列表: Arguments

  • OC内存区域

    c语言中形参和实参 形参 form parameter实参 real parameter出现在函数定义中的...

  • 实参和形参

    实参(argument): 全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等,...

  • 实参和形参

    之前没有注重基础,直接去后面看高级内容,结果是一点儿也看不懂,还耽误了很多时间,现在从基础、细节开始学JavaSc...

  • 形参和实参

    实参(argument): 全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等,...

  • 形参和实参

    形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。 实参出现在主调函数中,进入被调函数后,实参...

  • python+AI第五课

    函数 function 1 代码重用 2 便与修改,易扩展 改进封装成函数 函数的形参和实参形式参数、实际调动的参...

网友评论

      本文标题:function形参和实参

      本文链接:https://www.haomeiwen.com/subject/kwktdktx.html