调用函数时传递的实参个数arguments.length; ,函数定义时的形参个数sum.length

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>范例6-4</title>
</head>
<body>
<script language="javascript">
function sum( arg1, arg2 )
{
    var realArgCount = arguments.length;        // 调用函数时传递的实参个数
    var frmArgCount = sum.length;               // 函数定义时的形参个数
    if( realArgCount < frmArgCount )            // 如果实际参数个数少于形参个数
    {
        var e = new Error();                    // 定义错误信息,然后抛出
        e.number = 100001;
        e.message = "实际参数个数不符合要求!";
        throw e;
    }
    return arguments[0] + arguments[1];         // 参数符合要求则从arguments对象中提取实参并返回两者的和
}
try
{
    document.write( "<p><h1>arguments对象测试</h1></p>" );  // 输出标题
    document.write( "正确调用的结果:" + sum(10,20) );      // 输出正确调用的结果
    document.write( "<br>不符合规则的调用结果:" );         // 人为引发一个不符合规则的调用方式
    document.write( sum(10) );
}
catch(e)                                                    // 捕捉错误
{
    alert(e.number+"错误号:"+e.message);                   // 输出错误信息
}
</script>
</body>
</html>
时间: 2024-08-02 07:03:35

调用函数时传递的实参个数arguments.length; ,函数定义时的形参个数sum.length的相关文章

JavaScript服务器端开发(函数实参对象arguments使用的几个注意事项)

为什么引入实参对象arguments 在JS开发中,每一个函数都对应一个实参对象,称为arguments.这个对象引用的目的是为了解决如下问题: 当调用函数的时候传入的实参个数超过函数定义时的形参个数时,没有办法直接获得未命名值的引用. 因为JS函数定义与调用极其灵活,参数个数是不确定的,而且系统也不会作自动检测.这为开发带来灵活性的同时也带来相当的麻烦.下文将结合实际开发中使用到arguments时经常遇到的几个"麻烦"进行讨论,并给出对应的解决方案. 在函数体内,标识符argume

JavaScript学习总结(三、函数声明和表达式、this、闭包和引用、arguments对象、函数间传递参数)

一.函数声明和表达式 函数声明: function test() {}; test();    //运行正常 function test() {}; 函数表达式: var test = function() {}; test;    //undefined test();   //TypeError var test = function() {}; 命名函数的赋值表达式: var test = function bar() { test();    //正常运行 }; test();    /

ESL python调用C模块时传递unicode字符串报错问题解决

在是用freeswitch时利用ESL的python调用时传递字符串报错 TypeError: in method 'ESLconnection_api', argument 2 of type 'char const *' 是由于python传递的字符串为unicode,在c语言char使用的ascii码方式在SWIG中做一下转换,代码如下 修改文件esl_wrap.cpp ##### /* for C or C++ function pointers *///添加定义#define SWIG

JS如何判断函数的形参个数与实参个数是否相等

形参个数: arguments.callee.length或者  函数名.length   ,arguments.callee就是取得函数名 实参个数: arguments.length 因此 function fun(a, b, c){ if( arguments.callee.length == arguments.length){ }else{ } }

函数的作用域链是由函数定义时所决定的而非调用

废话不多说,上代码: 案例1 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Test</title> <script> function a() { var flag = true; b(); } function b() { console.log( flag ); } a(); </script> </hea

js函数的两种定义形式,函数的实参列表arguments/形参列表函数名

1.声明式函数:function test(){}; 2.表达式函数:var test=function(){} 例:function test(a,b){} test(2,3,4) ->函数的形参和实参是可变的 函数内参数参数列表: 1.实参列表:在函数内用arguments表示,如上例:arguments=[2,3,4] 2.在函数内test.length表示形参列表长度 原文地址:https://www.cnblogs.com/fangming/p/8847650.html

JS函数 -- 功能,语法,返回值,匿名函数,自调用匿名函数,全局变量与局部变量,arguments的使用

“JavaScript设计得最出色的就是它的函数的实现.” -- <JavaScript语言精粹> 函数包含一组语句,它们是JS的基础模块单元,用于指定对象的行为.一般来说,所谓编程,就是将一组需求分解成一组函数与数据结构的技能. 1.函数的功能 代码重复性使用 模块化编程 2.语法: 使用函数前要先定义才能使用 函数定义有三个部分:函数名,参数列表,函数体 格式: 1 function 函数名([参数1, 参数2, ...]){ 2 3 函数执行部分; 4 5 return 表达式; 6 7

Javascript参数个数可变的函数 动态传人和取得参数

js中的函数是一个对象,一个Function对象(函数参数列表及函数主体事实上只是Function对象的构造函数的参数而已),跟其他对象一 样可以在运行时增加属性.删除属性,函数参数是可变的,比如定义函数时定义的参数列表只有3个参数,调用时你却可以只传2个参数,或超过3个参数,通过函 数对象的length属性可以得到函数定义的形参个数,而函数调用时的实际参数列表则可以通过函数的arguments属性(一个Arguments对 象,类似于数组)访问到,arguments.length就是实际参数的

(一)Python入门-5函数:02形参和实参-文档字符串-函数注释-返回值详解

一:形参和实参 [操作]定义一个函数,实现两个数的比较,并返回较大的值. 1 def printMax(a,b): 2 '''实现两个数的比较,并返回最大值!''' 3 if a >b: 4 print(a,'较大值') 5 else: 6 print(b, '较大值') 7 8 printMax(20,30) 9 printMax(30,5) 10 11 #测试文档字符串的使用 12 help(printMax) 13 help(printMax.__doc__) 上面的 printMax 函