`

JavaScript中函数参数的理解

    博客分类:
  • js
阅读更多

ECMAScript(javascript 包含ECMAScript 、DOM、BOM)函数的参数与大多数语言中的参数有所不同。ECMAScript函数不介意传入多少个参数,也不介意传进来参数的类型。也就是说,即便你定义的函数只接收两个参数,在调用这个函数的时候,你可以传入一个、三个甚至不传入参数,而解析器永远不会有什么怨言。这是因为,在ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的绐终都是这个数组,而不关心数组中包含哪些参数或者有没参数。实际上,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传入给函数的每一个参数。例如一个函数如下:

 

function sayHi(name,message){

        alert("Hello " + name + "," + message);

}

 

上面这个函数的第一个参数的名字叫name,而该参数的值可以通过访问arguments[0]来获取。因此,这个函数可以像下面这样重写,即不显式地使用命名参数:

 

function sayHi(){
            alert("Hello " + arguments[0] + "," + arguments[1] );
}

 

sayHi("Jack","How are you today?");

 

这个事实说明了,ECMAScript 函数的一人重要特点:命名的参数只是提供方便,但不是必要的。

 

 

通过访问arguments对象的length属性可以获知有多少个参数传入给了函数。


 

 


  • 大小: 168.8 KB
  • 大小: 70.9 KB
分享到:
评论

相关推荐

    理解Javascript函数形式参数与arguments

    理解Javascript函数形式参数与arguments

    轻松学习JavaScript函数中的 Rest 参数

    JavaScript函数允许未知数量的函数参数。在ECMAScript 6之前,JavaScript有一个变量来访问这些未知或可变数目的参数,这是一个类似数组的对象,并非一个数组。细想以下代码来理解arguments变量: function add(){ ...

    深入理解JavaScript函数参数(推荐)

     javascript函数的参数与大多数其他语言的函数的参数有所不同。函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数。 arguments  javascript中的函数定义并未指定函数形参的...

    深入理解javascript函数参数与闭包

    1.函数参数  1.1:参数是什么  1.2:参数的省略  1.3:参数默认值  1.4:参数传递方式  1.5:同名参数  1.6:arguments对象 2.闭包  2.1:闭包定义  2.2:立即调用的函数表达式(IIFE, Immediately invoked ...

    AJAX入门之深入理解JavaScript中的函数.doc

    javascript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。在继续讲述之前,先看一下函数的使用语法:

    理解JAVASCRIPT中hasOwnProperty()的作用

    JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性。 hasOwnProperty()使用方法: object.hasOwnProperty(proName)其中参数object是必选项。一个对象的实例。proName是必...

    【JavaScript源代码】JavaScript的function函数详细介绍.docx

     function fun(x,y){ } //写成这样就可以声明一个函数 以我的理解他就是以对象的形式来传入参数,通过对象的各项属性值(引用类型的值),来作为我的实际参数, 例如我有以下做法:  function fun

    javascript深入理解函数

    javascript深入理解函数 函数声明方法 1.function 函数声明语句 function add(a,b){ return a+b; } console.log(add(1,2)); 2.函数表达式 var add = function (a,b) { return a+b; } console.log(add(3,2)); 3....

    AJAX入门之深入理解JavaScript中的函数

    JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。在继续讲述之前,先看一下函数的使用语法:  ...

    JS高阶函数原理与用法实例分析

    本文实例讲述了JS高阶函数原理与用法。分享给大家供大家参考,具体如下: ...在大多数简单的术语中,函数编程是一种编程形式,您可以将函数作为参数传递给其他函数,并将它们作为值返回。在函数式编程中,我

    理解javascript中的回调函数(callback)

    最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用。如果这个概念理解不了,nodejs、express 的代码就会看得一塌糊涂。...首先要了解,在 js 中,函数也是对象,可以赋值给变量,可以作为

    理解javascript回调函数

    把函数作为参数传入到另一个函数中。这个函数就是所谓的回调函数 经常遇到这样一种情况,某个项目的A层和B层是由不同的人员协同完成.A层负责功能funA,B层负责funcB。当B层要用到某个模块的数据,于是他对A层人员说,我...

    javascript回调函数的概念理解与用法分析

    因为函数实际上是一种对象,它可以存储在变量中,通过参数传递给另一个函数,在函数内部创建,从函数中返回结果值”,因为函数是内置对象,我们可以将它作为参数传递给另一个函数,到函数中执行,甚至执行后将它返回...

    深入理解Javascript中的自执行匿名函数

    解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。 来个带参数的...

    js匿名函数作为函数参数详解

    温故知新,今天又回味了一遍,匿名函数作为函数参数。 代码很短,五脏俱全。 <!DOCTYPE html> <html lang=en> <head> </head> <body> [removed] function test( a, b ){ a+=1; ...

    Functional-Programming-in-[removed]JavaScript 函数式编程的完整总结

    JavaScript 中的函数式编程 作者支持创建更多教育材料更多材料在本文中,我将尝试帮助您很好地理解 JavaScript 最常见的特性,函数式编程。 函数式编程允许您编写更短的代码、干净的代码,还可以解决传统方法可能...

    谈谈JavaScript中的函数

    JS中的函数简介 JS中的函数是一种通过调用来完成具体业务...function f3(a,b){}//函数中可以定义多个参数,无需指定变量类型 方式2 var f4=function(){} //函数表达式,这里变量名f4为函数名 var f5=function(){return 1

    JavaScript中的高级函数

    在JavaScript中,函数的功能十分强大。它们是第一类对象,也可以作为另一个对象的方法,还可以作为参数传入另一个函数,不仅如此,还能被一个函数返回!可以说,在JS中,函数无处不在,无所不能,堪比孙猴子呀!当你...

Global site tag (gtag.js) - Google Analytics