JavaScript函数的使用详解

目录
  • 1. 声明函数
  • 2. 调用函数
  • 3. 函数的参数
  • 4. 函数的返回值
  • 5. arguments的使用
  • 6. 函数可以调用另外一个函数
  • 7. 函数的两种声明方式
  • 总结
  • 1. 声明函数
  • 2. 调用函数
  • 3. 函数的参数
  • 4. 函数的返回值
  • 5. arguments的使用
  • 6. 函数可以调用另外一个函数
  • 7. 函数的两种声明方式
  • 总结

1. 声明函数

//声明函数
function 函数名() {
    //函数体代码
}

function是声明函数的关键字,必须小写由于函数一般是为了实现某个功能才定义的,所以通常我们将函数名命名为动词,比如getSum

2. 调用函数

//调用函数
函数名(); //通过调用函数名来执行函数体代码

声明函数本身并不会执行的代码,只有调用函数时才会执行函数体代码。

3. 函数的参数

在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参,而在调用该函数时,同样也需要传递相应的参数,这些参数被称为实参。

参数 说明
形参 形式上的参数 函数定义的时候 传递的参数 当前并不知道是什么
实参 实际上的参数 函数调用的时候传递的参数 实参是传递给形参的

参数的作用:在函数的内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。

函数形参和实参个数不匹配问题

参数个数 说明
实参个数等于形参个数 输出正确结果
实参个数多于形参个数 只取到形参的个数
实参个数少于形参个数 多的形参定义为undefined,结果为NaN
function sum(num1,num2) {
    console.log(num1+num2);
}
sum(100,200);   //实参个数等于形参个数 输出正确结果
sum(100,400,500,700); //实参个数多于形参个数 只取到形参的个数
sum(200);  //实参个数少于形参个数 多的形参定义为undefined,结果为NaN

在JavaScript中,形参的默认值是undefined 。

4. 函数的返回值

经常用return返回函数值

return终止函数

function add(num1,num2) {
    //函数体
    return num1+num2; //注意:return后的代码不执行
    alert('前面有return,我不会被执行');
}
var resNum = add(21,6); //调用函数,传入两个实参,并通过resNum接收函数返回值
alert(resNum);  //27

如果函数有return,则返回return后面的值;如果没有return,则返回 undefined 。

break,continue,return的区别

  • break:结束当前的循环体(如for、while)
  • continue:跳出本次循环,继续执行下次循环(如for、while)
  • return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码。

5. arguments的使用

当我们不确定有多少个参数传递的时候,可以用arguments来获取,在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        function fn() {
            console.log(arguments); //里面存储了所有传递过来的实参
            console.log(arguments.length);
            console.log(arguments[2]);
            //可以按照数组的方式遍历arguments
            for (var i = 0; i < arguments.length; i++) {
                console.log(arguments[i]);
            }
        }
        fn(1, 2, 3);
        fn(1, 2, 3, 4, 5);
        //伪数组  并不是真正意义上的数组
        //1. 具有数组的length 属性
        //2. 按照索引的方式进行存储的
        //3. 它没有真正数组的一些方法 如pop() push()等等
    </script>
</head>
<body>
</body>
</html>

6. 函数可以调用另外一个函数

function fn1() {
   console.log(111);
   fn2();
   console.log('fn1');
}
function fn2() {
   console.log(222);
   console.log('fn2');
}
fn1();

7. 函数的两种声明方式

//1. 利用函数关键字自定义函数(命名函数)
function fn() {
}
fn();
//2. 函数表达式(匿名函数)
//var 变量名 = function() {};
var fun = function(aru) {
    console.log('我是函数表达式');
    console.log(aru);
}
fun('FG');
//(1) fun是变量名 不是函数名
//(2) 函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值 而函数表达式里面存的是函数
//(3) 函数表达式也可以进行传递参数

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

1. 声明函数

//声明函数
function 函数名() {
    //函数体代码
}

function是声明函数的关键字,必须小写由于函数一般是为了实现某个功能才定义的,所以通常我们将函数名命名为动词,比如getSum

2. 调用函数

//调用函数
函数名(); //通过调用函数名来执行函数体代码

声明函数本身并不会执行的代码,只有调用函数时才会执行函数体代码。

3. 函数的参数

在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参,而在调用该函数时,同样也需要传递相应的参数,这些参数被称为实参。

参数 说明
形参 形式上的参数 函数定义的时候 传递的参数 当前并不知道是什么
实参 实际上的参数 函数调用的时候传递的参数 实参是传递给形参的

参数的作用:在函数的内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。

函数形参和实参个数不匹配问题

参数个数 说明
实参个数等于形参个数 输出正确结果
实参个数多于形参个数 只取到形参的个数
实参个数少于形参个数 多的形参定义为undefined,结果为NaN
function sum(num1,num2) {
    console.log(num1+num2);
}
sum(100,200);   //实参个数等于形参个数 输出正确结果
sum(100,400,500,700); //实参个数多于形参个数 只取到形参的个数
sum(200);  //实参个数少于形参个数 多的形参定义为undefined,结果为NaN

在JavaScript中,形参的默认值是undefined 。

4. 函数的返回值

经常用return返回函数值

return终止函数

function add(num1,num2) {
    //函数体
    return num1+num2; //注意:return后的代码不执行
    alert('前面有return,我不会被执行');
}
var resNum = add(21,6); //调用函数,传入两个实参,并通过resNum接收函数返回值
alert(resNum);  //27

如果函数有return,则返回return后面的值;如果没有return,则返回 undefined 。

break,continue,return的区别

  • break:结束当前的循环体(如for、while)
  • continue:跳出本次循环,继续执行下次循环(如for、while)
  • return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码。

5. arguments的使用

当我们不确定有多少个参数传递的时候,可以用arguments来获取,在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        function fn() {
            console.log(arguments); //里面存储了所有传递过来的实参
            console.log(arguments.length);
            console.log(arguments[2]);
            //可以按照数组的方式遍历arguments
            for (var i = 0; i < arguments.length; i++) {
                console.log(arguments[i]);
            }
        }
        fn(1, 2, 3);
        fn(1, 2, 3, 4, 5);
        //伪数组  并不是真正意义上的数组
        //1. 具有数组的length 属性
        //2. 按照索引的方式进行存储的
        //3. 它没有真正数组的一些方法 如pop() push()等等
    </script>
</head>
<body>
</body>
</html>

6. 函数可以调用另外一个函数

function fn1() {
   console.log(111);
   fn2();
   console.log('fn1');
}
function fn2() {
   console.log(222);
   console.log('fn2');
}
fn1();

7. 函数的两种声明方式

//1. 利用函数关键字自定义函数(命名函数)
function fn() {
}
fn();
//2. 函数表达式(匿名函数)
//var 变量名 = function() {};
var fun = function(aru) {
    console.log('我是函数表达式');
    console.log(aru);
}
fun('FG');
//(1) fun是变量名 不是函数名
//(2) 函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值 而函数表达式里面存的是函数
//(3) 函数表达式也可以进行传递参数

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • JS常用函数使用指南

    1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大

  • Javascript 高阶函数使用介绍

    高阶函数(higher-order function)-如果一个函数接收的参数为或返回的值为函数,那么我们可以将这个函数称为高阶函数.众所周知,JavaScript是一种弱类型的语言:JavaScript的函数既不对输入的参数,也不对函数的输出值作强定义和类型检查,那么函数可以成为参数,也可以成为输出值,这就体现了JavaScript对高阶函数的原生支持. 一.参数为函数的高阶函数: function funcTest(f){ //简易判断一下实参是否为函数 if((typeof f)=="fu

  • JavaScript中的函数嵌套使用

    在JavaScript1.2之前,函数定义是只允许在顶层全局代码,但1.2的JavaScript可以嵌套函数定义其他函数中也是可以的. 仍然存在的函数定义可以循环或条件之内不会出现限制.在函数定义这些限制只适用于函数声明与函数语句. 函数文本(在JavaScript1.2引入的另一个功能)可能出现在任何JavaScript表达式,这意味着它们可以出现在if else语句内. 示例: 下面就是我们两个嵌套函数的例子.这可能会有点混乱,但它的工作原理完全正常: <script type="te

  • js的匿名函数使用介绍

    1.匿名函数概述 关于匿名函数的第一次认识还是在jquery源码里,打开jQuery首先看到的是 复制代码 代码如下: (function( window, undefined ) {.......................})(window); 这就是一个匿名函数,红色为参数,匿名函数的作用是创建一块封闭区域,外面不能够访问里面的变量和方法. 既然不能访问,那怎么能调用jquery?这是因为jquery的匿名函数有这样两句话(蓝色字): 复制代码 代码如下: (function( win

  • JS Date函数整理方便使用

    JS Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() Date 对象会自动把当前日期和时间保存为其初始值. 参数形式有以下5种: 复制代码 代码如下: new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); new Date(yyyy,mth,dd); new Date(m

  • JavaScript函数使用的基本教程

    函数是一组可重用的代码,可以在程序的任何地方被调用.这消除了一次又一次地写入相同的代码的需要.这将帮助程序员编写模块化代码.您可以在一些小且易于管理的功能划分大程序. 像任何其他高级编程语言,JavaScript支持所有必要写模块化的代码使用函数的特点. 一定见过这样 alert() 和write()在前面的章节功能.我们一次又一次地使用这些功能,但它们已经写在核心JavaScript只有一次. JavaScript允许我们写自己的函数,以及本节将介绍如何编写自己的函数在JavaScript.

  • 如何让你的JavaScript函数更加优雅详解

    目录 对象参数使用解构 命名回调函数 让条件句具有描述性 用 Map 或 Object替换 switch 语句 使用 Object.assign 设置默认属性 删除重复代码,合并相似函数:删除弃用代码 提炼函数 总结 准备写一个js技巧系列,主要就是总结js各种实用的小窍门.小妙招.本文主要是研究如何让我们的函数更清晰明了. 对象参数使用解构 如果希望函数接收很多参数(如果超过两个),那么就应该使用对象.在此基础上,可以使用解构语法提取需要的参数. 普通写法 const greet = (obj

  • JavaScript函数IIFE使用详解

    一.认识函数 javaScritp中的的函数 // 函数声明语法定义 function fun1(name, age) { console.log(name + ',' + age); } fun1('Amy', 18); //Amy,18 // 函数表达式定义 var fun2 = function(name, age) { console.log(name + ',' + age); } fun1('Amy', 18); //Amy,18 javaScript函数带默认参数 /* 默认参数

  • JavaScript函数的使用详解

    目录 1. 声明函数 2. 调用函数 3. 函数的参数 4. 函数的返回值 5. arguments的使用 6. 函数可以调用另外一个函数 7. 函数的两种声明方式 总结 1. 声明函数 2. 调用函数 3. 函数的参数 4. 函数的返回值 5. arguments的使用 6. 函数可以调用另外一个函数 7. 函数的两种声明方式 总结 1. 声明函数 //声明函数 function 函数名() { //函数体代码 } function是声明函数的关键字,必须小写由于函数一般是为了实现某个功能才定

  • javascript设计模式之对象工厂函数与构造函数详解

    下面通过文字详解加代码分析的方式给大家分享下javascript设计模式之对象工厂函数与构造函数的相关知识. 概述使用对象字面量,或者向空对象中动态地添加新成员,是最简单易用的对象创建方法.然而,除了这两种常用的对象创建方式,JavaScript还提供了其他方法创建对象.1).使用工厂函数创建对象我们可以编写一个函数,此函数的功能就是创建对象,可将其. 概述 使用对象字面量,或者向空对象中动态地添加新成员,是最简单易用的对象创建方法. 然而,除了这两种常用的对象创建方式,JavaScript还提

  • javascript 用函数实现继承详解

    一.知识储备: 1.枚举属性名称的函数: (1)for...in:可以在循环体中遍历对象中所有可枚举的属性(包括自有属性和继承属性) (2)Object.keys():返回数组(可枚举的自有属性) (3)Object.getOwnPropertyNames():所有的自有属性 3.属性的特性:数据属性和存取器属性 (1)数据属性:可写(writable)  可枚举(enumerable)  可配置(configurable)  值(value) 数据属性只有一个简单的值: (2)存取器属性: 写

  • JavaScript中变量提升和函数提升的详解

    第一篇文章中提到了变量的提升,所以今天就来介绍一下变量提升和函数提升.这个知识点可谓是老生常谈了,不过其中有些细节方面博主很想借此机会,好好总结一下. 今天主要介绍以下几点: 1. 变量提升 2. 函数提升 3. 为什么要进行提升 4. 最佳实践 那么,我们就开始进入主题吧. 1. 变量提升 通常JS引擎会在正式执行之前先进行一次预编译,在这个过程中,首先将变量声明及函数声明提升至当前作用域的顶端,然后进行接下来的处理.(注:当前流行的JS引擎大都对源码进行了编译,由于引擎的不同,编译形式也会有

  • 基于JavaScript表单脚本(详解)

    什么是表单? 一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等. 表单按钮:包括提交按钮.复位按钮和一般按钮:用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作. JavaScript与表单间的关系:JS最初的应用就是用于分担服务器处理表单的责任,打破依赖服务器的局面,尽管目前web和jav

  • 在一个页面重复使用一个js函数的方法详解

    1.给每个拥有相同行为的问题DOM节点一个相同的class类,如question,同时给不同的问题一个不同的标识ID如 id="question1" id="question2"...诸如此. 2.给类.question绑定点击事件,在触发函数里面先判断当前点击的这个类的id,即可知道你要操作的是哪一个问题,然后调用你的那个伸缩函数即可. <!DOCTYPE html> <html> <head lang="en"&

  • JavaScript This指向问题详解

    这篇文章主要介绍了JavaScript This指向问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 各位小伙伴在面试中被面试官问道this指向问题一定不少吧,同时还被问道apply,call和bind的用法区别,现在,就来简单的聊一聊this到底指向何方. 1.基本概念 MDN的官方解释:与其他语言相比,函数的 this 关键字在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别.在绝大多数情况下,

  • javascript异常处理实现原理详解

    这篇文章主要介绍了javascript异常处理实现原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.什么是例外处理 当 JavaScript程序在运行中发生了诸如数组索引越界.类型不匹配或者语法错误时,JavaScript解释器就会引发例外处理. ECMAScript定义了六种类型的错误,除此之外,我们可以使用Error对象和throw语句来创建并引发自定义的例外处理信息. 通过运用例外处理技术,我们可以实现用结构化的方式来响应错误事

随机推荐