热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【JavaScript】函数的定义与调用

1、定义函数方式一functionmyFunction1(p1,p2){returnp1*p2;该函数返回p1和p2的乘积}方式二varmyFunction2function(p1

1、定义函数

//方式一
function myFunction1(p1, p2) {
return p1 * p2; // 该函数返回 p1 和 p2 的乘积
}
//方式二
var myFunction2=function(p1, p2){
return p1 *p2;
}
//两种方式定义的函数使用起来没有区别

函数的调用

函数中的代码将在其他代码调用该函数时执行:



  • 当事件发生时(如当用户点击按钮时)

  • 当 Javascript 代码调用时

  • 自动的(自调用)

注:



  • 函数执行到return结束,但如果没有执行return,也会返回结果(返回undefined)。



  • 调用函数时填写的实参多了不影响执行,少了,返回值会出问题(比如返回NaN),反正就是都不会报错。



  • 调用函数加了()时,引用的是函数结果,如果不加,引用的是函数对象(返回值是函数的定义)。如:





运行结果:

image


arguments参数


arguments是一个JS的一个关键字;

代表,函数传递进来的所有参数,是一个数组!


rest


ES6引入的新特性,获取除了已经定义的参数之外的所有参数。

rest参数只能写在最后面,必须用…标识。

function a(a,b,...rest){}

2、匿名函数

匿名函数有两种用法:



  • 赋值

  • 自动执行

匿名函数必须以以上两种方式定义和使用,如果只单独定义匿名函数的话,会报错。


赋值

声明一个匿名函数直接赋值给某变量或事件

window.Onload= function(){
alert('hello');
};

自动执行

定义完成后会自动执行。一般在函数前加一个!(+-~也行),函数结尾加括号(),括号()里面可以填写需要的实参。以下给出几个例子。

//1.使用 !开头,()结尾,结构清晰,不容易混乱,推荐使用;
!function(){
document.write('hello');
}();
//2.用()将匿名函数与调用的()合为一个整体,官方推荐使用;
(function(){
document.write('hello');
}());
//3.用()包裹函数,无法表明函数与之后的()的整体性,不推荐使用。
(function(){
document.write('hello');
})();
//4.放在中括号[]内执行
[function(){
document.write('hello');
}()];
//5.使用 + 运算符
+function(){
document.write('hello');
}()
//6.使用 - 运算符
-function(){
document.write('ni hao');
}()
//7.使用波浪符 ~
~function(){
document.write('hello');
}()
//8.使用 void
void function(){
document.write('hello');
}()


推荐阅读
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
author-avatar
fdasfwgafaweg
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有