`

js函数的参数问题

阅读更多


关于JS中的函数,相信大家已经很了解了,其中有些特性呢,感觉还是值得提一提的,下面就说说JS中的函数吧。

  首先,在JS中函数也是一种标识符,可以将它赋值给新的变量,也可以通过这个变量来调用。这有点像C语言的函数指针,不过也不完全一样,如下面的代码:


1 function myfun() {
2     alert("funcation call");
3 }
4
5 var fun = myfun;           
6
7 fun();
8



  再有一个值得说一下的,就是JS中的函数的参数不一定是严格匹配的,通常的编程经验,比如有这样一个函数 fun(aa,bb),那么我们在调用这个函数的时候就应该给他传递两个参数。但是在JS中,我们可以给他传递任意个参数,1个,3个,等等,都可以。 JS中的参数传递,不完全是按照函数声明时指定的那些参数,在每次调用函数的时候,都会有一个命名为arguments的数组,这个数组里面存储了函数调用时,传递进来的所有参数,有了它,我们甚至可以不再函数声明时指定形式参数,如下代码:


1 function args() {
2     if (arguments[0] != undefined) {
3
4         alert(arguments[0]);
5     }
6 }
7
8 args();         //什么也不输出
9 args("hehe");   //弹出参数值
10





  如上所示,arguments数组的每个下标,从0开始一次对应着传递进来的每个参数,如果指定位置没有参数,那么他就会是undefined,

我们可以使用arguments.length来判断传递进来的参数个数,这种方式有时候会很有用,比如,我们可以利用这个特性来模拟C语言的printf函数:


1 function format() {
2     if (arguments.length == 0) {
3         return "";
4     }
5     var formatter = arguments[0];
6
7     for (var i = 1; i < arguments.length; i++) {
8
9         formatter = formatter.replace(new RegExp("\\{"+(i-1)+"\\}","gm"), arguments[i]);
10     }
11
12     return formatter;       
13 }
14
15 alert(format("Hello {0},this is the fetures of {1}!","world","javascript"));
分享到:
评论

相关推荐

    JavaScript函数参数使用带参数名的方式赋值传入的方法

    传统的JavaScript函数参数传递是基于位置的,即按照参数在函数定义中的位置来接收值。然而,这种方式在参数较多时容易出错,特别是当参数顺序不正确或者缺失时。为了解决这一问题,JavaScript引入了一种更加直观的...

    qt 调用javascript函数 带参数

    调用JavaScript函数时要注意安全问题,避免执行可能有害的代码。此外,频繁的JavaScript-C++交互可能会对性能产生影响,因此建议合理设计接口和数据交换策略。 以上就是在Qt 4.5中调用JavaScript函数并传递参数的...

    JS 函数式编程指南 PDF

    总结而言,JS函数式编程指南为读者提供了一种途径,借助于JavaScript这种广泛使用的编程语言,去理解和掌握函数式编程的核心概念和实践技巧。这本指南不仅涵盖了函数式编程的基础理论,还详细介绍了如何在实际开发中...

    javascript函数式编程

    JavaScript函数式编程是利用JavaScript语言编写函数式风格代码的一种编程范式。函数式编程强调使用纯函数、避免副作用、函数的不可变性以及利用高阶函数等概念。通过阅读《JavaScript函数式编程指南》,读者可以了解...

    JavaScript函数式编程.pdf

    不过,由于【标题】中提供了文档的名称——"JavaScript函数式编程.pdf",我可以根据这个名称扩展出关于JavaScript函数式编程的知识点。 JavaScript函数式编程的知识点非常丰富,涉及很多方面的内容,下面将详细介绍...

    javascript指南和函数式编程

    而《JavaScript函数式.zip》可能是一份关于JavaScript函数式编程的资料集合,函数式编程是一种编程范式,强调使用函数和避免改变状态。其中可能涵盖以下知识点: 1. **纯函数**:理解纯函数的定义,即给定相同的...

    向setTimeout传递函数参数

    在本文中,我们将深入探讨如何正确地向`setTimeout`传递函数参数,并理解其背后的原理。 `setTimeout`的基本语法如下: ```javascript setTimeout(function, delay, param1, param2, ...) ``` 其中,`function`是...

    javascript函数速查

    JavaScript函数是编程语言的核心组成部分,它是一段可重复使用的代码块,可以接受参数并返回值。在JavaScript中,函数不仅可以作为表达式,还能作为变量赋值、作为参数传递以及作为返回值。本速查指南将深入探讨...

    javascript 函数参数原来是可以有缺省值的

    无标题文档 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]在这里我引用这段代码不是因为要方便自己以后调用,而是发现了一点我从没有... 原来 javascript 函数的参数是可以缺省的,这一点我倒是一直都不知道。

    js中方法重载如何实现?以及函数的参数问题.docx

    这里我们将详细讨论如何在JavaScript中实现方法重载以及相关的函数参数问题。 ### 方法重载的实现 #### 1. `arguments` 对象 JavaScript 中的每个函数都有一个内置对象 `arguments`,它是一个类数组对象,包含了...

    javascript函数式编程 underscore.js

    JavaScript函数式编程是一种编程范式,它强调使用函数来组织代码,将计算视为一系列惰性求值的操作。Underscore.js是一个轻量级的JavaScript实用库,它为开发者提供了大量函数式编程工具,使得在JavaScript中实践...

    JavaScript函数的定义方法及函数的参数和优化.docx

    为了优化函数参数,可以设计参数时注意,如果参数数量较少直接使用多个形参传参形式即可。一旦参数数量非常多,且存在很多可选参数,有些参数是不必要的,但是参数仍是按照顺序进行传递的,这个时候一定要把参数转换...

    JS函数参数的传递与同名参数实例分析

    本文将深入分析JavaScript函数参数传递的原理,探讨同名参数在函数中的表现,并通过实例分析来帮助大家更好地理解和应用这些概念。 首先,我们需要明确JavaScript中参数传递的两种基本类型:值传递和引用传递。当...

    JS function函数 基础案例

    以上就是JavaScript函数的基础知识,包括定义、调用、返回值、匿名函数、箭头函数、作为值的函数、作用域、闭包以及默认参数。通过这些基础知识,你可以构建复杂的程序逻辑,并实现代码的复用。在实际编程中,深入...

    理解Javascript函数形式参数与arguments

    理解Javascript函数形式参数与arguments 在JavaScript中,函数的形式参数和arguments之间存在着微妙的关系。为了深入理解这方面的知识,我们需要首先了解形式参数和实际参数的概念。形式参数指的是定义方法时所明确...

    javaScript函数式编程

    本书专门介绍JavaScript函数式编程的特性。 全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的...

    javascript 函数教程(由浅入深)

    以下是关于JavaScript函数的详细讲解: 1. **函数定义**: - 无参函数定义:`function 函数名 () { 代码... }` - 有参函数定义:`function 函数名 (参数列表) { 代码... }` - 参数列表中的参数可以是变量、常量...

    javascript 函数式编程

    总之,JavaScript的函数式编程提供了一种不同的思考和解决问题的方式,它鼓励编写模块化、无副作用的代码,从而提高代码质量。通过学习和实践函数式编程,开发者可以更好地驾驭JavaScript,写出更高效、更易于理解和...

Global site tag (gtag.js) - Google Analytics