`

JavaScript函数对象

阅读更多

在JavaScript中,函数也是对象,我们使用下面的语句定义一个函数的时候,其实是定义了一个Function类型的对象。

function add(a,b){
	return a+b;
}
add.apply(document,[1,2])
 

   为了说明这个问题,我们可以使用Function的构造函数来定义一个add函数:

 

<script language="javascript">
   var add = new Function('a','b','return a+b');
 		alert(add(1,2));
</script>

  使用这种方法定义的函数和上面的函数完全一样,不过这种语法比较麻烦,一般不会使用。

 

 

(函数)Function对象的call方法

call是一个非常有用的方法,它可以控制函数的运行环境,即控制函数内部this所指向的对象。下面的例子可以说明这个问题:

<html>
<head>
		<script language="javascript">
		   function whatsThis(){
		 		alert(this);
		 	  }
		</script>
</head>
<body>
<button onclick='whatsThis()'>whatsThis() </button>
<button onclick='whatsThis.call(document)'>whatsThis.call(document)()</button>
</body>
</html>
 

 

如果原来的函数需要接受参数,例如add函数,可以使用如下形式:

add.call(document,1,2)
 

也就是说,call的第一个参数是要绑定给this的对象,而1和2则是原来的add函数需要接受的参数。

(函数)Function对象的apply方法

apply的使用方法与call基本一致,只是参数是以数组的形式传递的,还是以add函数为例:

add.apply(document,[1,2])
 

 

可以看到,原函数add需要接受的两个数字参数是以一个数组的形式传递进apply的。

 

 

函数)Function对象的arguments属性

javascript的函数可以接受任意数量的参数,所以定义的时候,参数的个数作并不会限制函数的这个能力。在函数中,我们可以使用arguments来访问传入函数的参数,例如:

 

<html>
<head>
		<script language="javascript">
   function howmany(){
   var num = arguments.length;
   alert(num);
 }
		</script>
</head>
<body>
<button onclick='howmany(1,2,3,4)'>howmany(1,2,3,4)</button>
<button onclick='howmany(1,2,3,4,5,6,7,8)'>howmany(1,2,3,4,5,6,7,8)</button>
</body>
</html>
 

 

 

 

分享到:
评论

相关推荐

    详解JavaScript函数对象

    让我们详细了解一下JavaScript函数对象的各个方面。 首先,函数的定义非常简单。例如: ```javascript function One(leve, leve) { // code return leve + leve; } ``` 在这个例子中,`One` 是一个函数,它接受...

    Javascript 函数对象的多重身份

    在本文中,我们将深入探讨JavaScript函数对象的多重身份,并通过实例解析其不同角色。 1. **普通函数身份** 在JavaScript中,函数可以像其他编程语言中的函数一样被调用来执行特定任务。例如: ```javascript ...

    JavaScript函数式编程.pdf

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

    Javascript函数与对象

    ### JavaScript函数与对象详解 在JavaScript中,函数与对象是两个核心概念,它们构成了这门语言的基石。本文将深入探讨这两个主题,帮助读者更好地理解并掌握JavaScript。 #### 函数 函数是JavaScript中的第一类...

    javascript指南和函数式编程

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

    javascript函数速查

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

    JavaScript中函数对象调用模式总结

    JavaScript中的函数对象调用模式是编程中至关重要的概念,它涉及到函数作为一等公民、作用域、闭包、原型链等多个核心知识点。这篇博客通过深入分析JavaScript中的函数调用模式,帮助开发者更好地理解和掌握这些概念...

    QT和网页中的JavaScript函数进行相互调用的实现

    - 这里的回调函数用于处理JavaScript函数的异步返回结果,如果需要同步获取结果,可以使用`QWebEngineScript`来注册一个全局JavaScript对象,然后通过该对象调用JavaScript函数。 2. **JavaScript调用QT函数**: ...

    javascript实现根据函数名称字符串动态执行函数的方法示例

    此外,关于JavaScript的其它编程技巧,本篇介绍了多个专题,包括常用函数技巧、面向对象入门、json操作、切换特效、查找算法、错误与调试、数据结构与算法、遍历算法以及数学运算的用法总结。这些内容都是非常实用的...

    JavaScript中函数与对象的解析.pdf

    在 JavaScript 中,函数对象对应的类型是 `Function`,正如数组对象对应的类型是 `Array`,日期对象对应的类型是 `Date` 一样。可以通过 `new Function()` 来创建一个函数对象,也可以通过 `function` 关键字来创建...

    JavaScript函数式编程

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

    Javascript面向对象编程.

    2. **原型(Prototype)**:JavaScript中的每个对象都有一个内置的`__proto__`属性,指向其构造函数的原型对象。原型对象可以包含共享的方法和属性,使得实例可以访问。我们也可以通过`prototype`属性来修改构造函数...

    javascript打印函数(所有对象)

    一个javascript函数,可打印出所有的对象(包括数组),方便页面调试

    JavaScript内置函数与内置对象.doc

    JavaScript内置函数与内置对象.doc

    JavaScript 函数式编程 (英文版)

    JavaScript函数式编程是一种编程范式,它强调将计算视为对数据进行操作的纯函数,而不是通过改变状态或显式指令来控制程序流程。在JavaScript中,函数式编程可以帮助我们写出更简洁、可读性强且易于测试的代码。下面...

    Javascript函数手册.rar

    此外,`call`和`apply`是函数对象的方法,用于改变函数调用时的上下文(即`this`的值)。 `javadict`这个文件名可能代表手册中的一个部分,可能是关于JavaScript内置对象、方法或特定函数的字典或参考。JavaScript...

    Javascript函数帮助手册

    JavaScript函数帮助手册是一份详尽的资源,专为学习和理解JavaScript编程语言中的函数和时间对象函数而设计。这份手册不仅适用于初学者,也对有经验的开发者具有很高的参考价值。下面将详细介绍JavaScript函数和时间...

    javaScript函数式编程

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

Global site tag (gtag.js) - Google Analytics