在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 function One(leve, leve) { // code return leve + leve; } ``` 在这个例子中,`One` 是一个函数,它接受...
在本文中,我们将深入探讨JavaScript函数对象的多重身份,并通过实例解析其不同角色。 1. **普通函数身份** 在JavaScript中,函数可以像其他编程语言中的函数一样被调用来执行特定任务。例如: ```javascript ...
不过,由于【标题】中提供了文档的名称——"JavaScript函数式编程.pdf",我可以根据这个名称扩展出关于JavaScript函数式编程的知识点。 JavaScript函数式编程的知识点非常丰富,涉及很多方面的内容,下面将详细介绍...
### JavaScript函数与对象详解 在JavaScript中,函数与对象是两个核心概念,它们构成了这门语言的基石。本文将深入探讨这两个主题,帮助读者更好地理解并掌握JavaScript。 #### 函数 函数是JavaScript中的第一类...
而《JavaScript函数式.zip》可能是一份关于JavaScript函数式编程的资料集合,函数式编程是一种编程范式,强调使用函数和避免改变状态。其中可能涵盖以下知识点: 1. **纯函数**:理解纯函数的定义,即给定相同的...
JavaScript函数是编程语言的核心组成部分,它是一段可重复使用的代码块,可以接受参数并返回值。在JavaScript中,函数不仅可以作为表达式,还能作为变量赋值、作为参数传递以及作为返回值。本速查指南将深入探讨...
JavaScript中的函数对象调用模式是编程中至关重要的概念,它涉及到函数作为一等公民、作用域、闭包、原型链等多个核心知识点。这篇博客通过深入分析JavaScript中的函数调用模式,帮助开发者更好地理解和掌握这些概念...
- 这里的回调函数用于处理JavaScript函数的异步返回结果,如果需要同步获取结果,可以使用`QWebEngineScript`来注册一个全局JavaScript对象,然后通过该对象调用JavaScript函数。 2. **JavaScript调用QT函数**: ...
此外,关于JavaScript的其它编程技巧,本篇介绍了多个专题,包括常用函数技巧、面向对象入门、json操作、切换特效、查找算法、错误与调试、数据结构与算法、遍历算法以及数学运算的用法总结。这些内容都是非常实用的...
在 JavaScript 中,函数对象对应的类型是 `Function`,正如数组对象对应的类型是 `Array`,日期对象对应的类型是 `Date` 一样。可以通过 `new Function()` 来创建一个函数对象,也可以通过 `function` 关键字来创建...
本书专门介绍JavaScript函数式编程的特性。 全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的...
一个javascript函数,可打印出所有的对象(包括数组),方便页面调试
JavaScript内置函数与内置对象.doc
JavaScript函数式编程是一种编程范式,它强调将计算视为对数据进行操作的纯函数,而不是通过改变状态或显式指令来控制程序流程。在JavaScript中,函数式编程可以帮助我们写出更简洁、可读性强且易于测试的代码。下面...
此外,`call`和`apply`是函数对象的方法,用于改变函数调用时的上下文(即`this`的值)。 `javadict`这个文件名可能代表手册中的一个部分,可能是关于JavaScript内置对象、方法或特定函数的字典或参考。JavaScript...
JavaScript函数帮助手册是一份详尽的资源,专为学习和理解JavaScript编程语言中的函数和时间对象函数而设计。这份手册不仅适用于初学者,也对有经验的开发者具有很高的参考价值。下面将详细介绍JavaScript函数和时间...
本书专门介绍JavaScript函数式编程的特性。 全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的...
本文介绍了JavaScript面向对象编程的基本概念和技术细节,包括变量和对象的基础用法、函数的作用以及如何通过封装和继承来构建复杂的对象层次结构。JavaScript的独特之处在于它的灵活性和动态性,这使得它成为了一种...