javascript arguments使用示例


Posted in Javascript onDecember 16, 2014
<script Language="JavaScript">

//第一个参数值. 

function test(a,b,c,d){ 

  alert(arguments[0]); 

} 

//arguments[0]实际上就是a,同理,arguments[1]就是b,依次c,d

</script>

 
 <script Language="JavaScript">

{

    function function_Name(exp1,exp2,exp3,exp4)

    {

        var umber="";

        umber=arguments.length;

        alert(umber);

    }

            function_Name('a','b','c','d');         都可以调用

        //    function_Name("a","b","c","d");     都可以调用

}

</script>

1、在JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。arguments非常类似Array,但实际上又不是一个Array实例。可以通过如下代码得以证实(当然,实际上,在函数funcArg中,调用arguments是不必要写成funcArg.arguments,直接写arguments即可)。

 Array.prototype.testArg = "test";

 function funcArg() {

     alert(funcArg.arguments.testArg);  

     alert(funcArg.arguments[0]);

 }

 alert(new Array().testArg); // result: "test"

 funcArg(10);                // result: "undefined"  "10"

2、arguments对象的长度是由实参个数而不是形参个数决定的。形参是函数内部重新开辟内存空间存储的变量,但是其与arguments对象内存空间并不重叠。对于arguments和值都存在的情况下,两者值是同步的,但是针对其中一个无值的情况下,对于此无值的情形值不会得以同步。如下代码可以得以验证。

 function f(a, b, c){

     alert(arguments.length);   // result: "2"

     a = 100;

     alert(arguments[0]);       // result: "100"

     arguments[0] = "qqyumidi";

     alert(a);                  // result: "qqyumidi"

     alert(c);                  // result: "undefined"

     c = 2012;

     alert(arguments[2]);       // result: "undefined"

 }

 f(1, 2);

3、由JavaScript中函数的声明和调用特性,可以看出JavaScript中函数是不能重载的。

根据其他语言中重载的依据:"函数返回值不同或形参个数不同",我们可以得出上述结论:

第一:Javascript函数的声明是没有返回值类型这一说法的;

第二:JavaScript中形参的个数严格意义上来讲只是为了方便在函数中的变量操作,实际上实参已经存储在arguments对象中了。

另外,从JavaScript函数本身深入理解为什么JavaScript中函数是不能重载的:在JavaScript中,函数其实也是对象,函数名是关于函数的引用,或者说函数名本身就是变量。对于如下所示的函数声明与函数表达式,其实含以上是一样的(在不考虑函数声明与函数表达式区别的前提下),非常有利于我们理解JavaScript中函数是不能重载的这一特性。

 function f(a){

     return a + 10;

 }

 function f(a){

     return a - 10;

 }

 // 在不考虑函数声明与函数表达式区别的前提下,其等价于如下

 var f = function(a){

     return a + 10;

 }

 var f = function(a){

     return a - 10;

 }

4、arguments对象中有一个非常有用的属性:callee。arguments.callee返回此arguments对象所在的当前函数引用。在使用函数递归调用时推荐使用arguments.callee代替函数名本身。

如下:

 function count(a){

     if(a==1){

         return 1;

     } 

     return a + arguments.callee(--a);

 }

 var mm = count(10);

 alert(mm);
Javascript 相关文章推荐
js 发个判断字符串是否为符合标准的函数
Apr 27 Javascript
xss文件页面内容读取(解决)
Nov 28 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
Oct 31 Javascript
jQuery中scrollTop()方法用法实例
Jan 16 Javascript
JQuery ZTree使用方法详解
Jan 07 Javascript
JavaScript中的return布尔值的用法和原理解析
Aug 14 Javascript
微信小程序实现上传图片功能
May 28 Javascript
Vue 3.x+axios跨域方案的踩坑指南
Jul 04 Javascript
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
Apr 11 Javascript
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
Vue实现跑马灯样式文字横向滚动
Nov 23 Vue.js
HTML+JS实现在线朗读器
Feb 15 Javascript
javascript实现日期格式转换
Dec 16 #Javascript
javascript实现禁止复制网页内容
Dec 16 #Javascript
node.js中的fs.rmdirSync方法使用说明
Dec 16 #Javascript
node.js中的fs.rmdir方法使用说明
Dec 16 #Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
Dec 16 #Javascript
node.js中的fs.fchownSync方法使用说明
Dec 16 #Javascript
node.js中的fs.fchown方法使用说明
Dec 16 #Javascript
You might like
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
bootstrap网格系统使用方法解析
2017/01/13 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
难忘的一课教学反思
2014/04/30 职场文书
治超工作实施方案
2014/05/04 职场文书
扬州个园导游词
2015/02/06 职场文书
2015年护士工作总结范文
2015/03/31 职场文书
政协常委会议主持词
2015/07/03 职场文书
2016年国陪研修感言
2015/11/18 职场文书
python批量更改目录名/文件名的方法
2021/04/18 Python
分享Python获取本机IP地址的几种方法
2022/03/17 Python
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers