资讯专栏INFORMATION COLUMN

JavaScript 函数简介

SHERlocked93 / 3428人阅读

摘要:函数简介函数的概念函数就是把特定功能的代码抽取出来,使之成为程序中的一个独立实体,起个名字函数名。因此在函数调用过程中,当形参值发生改变,而实参中的值不会变化。

JavaScript 函数简介 JS函数的概念

函数就是把特定功能的代码抽取出来,使之成为程序中的一个独立实体,起个名字(函数名)。

函数的作用

正如函数的概念, 我们可以根据代码需要, 将特定的功能用函数来包裹

使用函数的好处

函数可以在同一个程序或其他程序中多次重复使用(通过函数名调用)

使程序变得更简短而清晰

有利于程序维护

函数的分类

函数可以分为:内置函数自定义函数

内置函数:

是官方提供好的函数,可以直接使用
如:  alert(),   isNaN(), console.log() parseInt()等

自定义函数:
是用户自己定义的函数, 用户可以根据实际需求, 对特定的功能使用函数来封装

函数定义和调用

函数简单定义

语法格式:

function  函数名() {
           代码块;
      }

注意:

必须使用function关键字, 且为小写, 函数名自定义

函数名的命名规则和变量名一致

函数名后必须写圆括号()

例如:定义一个函数 ShowTips

function ShowTips(x,y){
  alert("我要飞得更高");
}

函数调用

函数的调用方式: 函数名()

 function ShowTips(x,y){
  alert("我要飞得更高");
}
ShowTips();

注意:
1.调用函数后会执行函数内部的代码块;
2.函数在不调用的情况下是不会执行的, 只有调用后函数中的代码才会执行

函数标准定义

语法格式:

function 函数名(参数1,参数2,……)
      {
            执行语句;
            return 返回值;
      }

注意:

函数名后圆括号()中的参数数量不定, 也可以没有; (根据功能需要)

return关键字的作用是将某个值返回, 如果没有返回值则默认返回undefined;

案例:定义一个函数Add求两个数相加之和

function Add(x,y){
  var sum=x+y;
  return sum;
}

var result=Add(2,3); //函数调用
 alert(result);

注意:
1.函数体语句执行到return时,函数就终止代码执行(return后的代码不会执行)
2.如果return后有返回值,则把这个值返回到函数调用执行的地方

形参和实参

形参:

形参就是在函数定义时,函数名后面的参数;
函数的形参跟变量是一样使用,且不能用var修饰

实参:

  实参就是调用时,函数名后面的参数

如: 之前定义的函数Add中: x和y是形参, 2和3是实参

function Add(x,y){
  var sum=x+y;
  return sum;
}

var result=Add(2,3); //函数调用
alert(result);

注意:
1.在传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。
2.因此在函数调用过程中,当形参值发生改变,而实参中的值不会变化。

arguments

arguments:函数内部隐藏的数组对象,保存着实参的信息,可以直接使用
函数在传递参数时就是用这个数组arguments来保存的
arguments.length:保存着实参的数量

函数的作用域

作用域: 就是起作用的范围。或者说有效范围; 这里涉及到另外两个概念。

局部变量:

定义在函数内部的变量,这个变量只能在函数内部使用,即作用域范围只是函数内部,另外,形参也是局部变量.
ps:函数内的变量使用遵循:就近原则

全局变量:

全局变量就是定义在函数外部的变量,这个变量在任何函数中都有效,即作用域范围是当前文件的任何地方.

JavaScript默认有一个全局对象window,全局作用域的变量实际上被绑定到window的一个属性:

注意: 在定义变量时, 如果不写关键字var也是合法的, 且是全局变量, 但是这样写不安全,容易在其他地方被更改, 所以我们在函数中写变量要加上var

变量声明提前

语句:

var str1="abc";
var sum=str1+str2;
var str2="hello";
console.log(sum); //abcundefined

//JavaScript引擎自动提升了变量str2的声明,但不会提升变量str2的赋值

函数的嵌套

函数的嵌套: 函数内部可以再包含其他函数;
函数之间允许相互调用(不能同时调用),也允许向外调用,
如果互相同时调用:就会出现死循环

对象函数的定义和调用

对象函数的定义

var 对象={
  属性名:属性值,
  属性方法名:匿名函数
}

调用: 对象.属性方法名()

事件驱动:

  因为函数不会主动执行, 只有当调用的时候才会执行函数中的代码,  在前面的dom操作示例中,我们点击了按钮才触发函数调用
  所有的函数,没有调用不会执行,那么在我们浏览器中函数调用的源头在何处,就是事件, 只有使用事件去驱动, 函数才被调用; 如: onclick: 点击事件

示例: 点击搜索按钮调用函数打印出文本框内容, 再清空文本框的内容

函数的递归调用

递归调用:

  函数可以自己调用自己, 成为函数的递归调用;
function fact(num){
    var sum;
    if (num<=1){
      sum=1;
    }else{
      sum=num*fact(num-1);
    }
     return sum;
}
alert(fact(6));

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100602.html

相关文章

  • JavaScript数据结构与算法》笔记——第1章 JavaScript简介

    摘要:异或左移右移删除属性不同类型之间比较在比较对象时,比较的是引用和是内部方法对不同的类型返回结果如下表对不同类型返回结果如下类申明函数有两种方法在原型上申明函数,只会创建一次,在所有实例中共享,可以节约内存和降低实例化的开销在类定义中申明函数 ^ 异或 > 右移 delete 删除属性 不同类型之间==比较 showImg(https://segmentfault.c...

    Cheng_Gang 评论0 收藏0
  • JavaScript 权威指南》读书笔记 1 - 简介

    摘要:原文第一章主要介绍的大概情况基本语法。通过和来引用对象属性或数组元素的值就构成一个表达式。 原文:https://keelii.github.io/2016/06/16/javascript-definitive-guide-note-0/ 第一章 主要介绍 JavaScript 的大概情况、基本语法。之前没有 JavaScript 基础的看不懂也没关系,后续章节会有进一步的详细说明...

    sydMobile 评论0 收藏0
  • JavaScript编程语言简介

    摘要:介绍是世界上最流行的编程语言之一。作为第一个也是唯一一个由浏览器本机支持的脚本语言。的基本定义是一种编程语言,它是高级的它允许您忽略运行它的机器的详细信息。,也称为变化也是巨大的。目前最新批准的版本是 介绍 JavaScript是世界上最流行的编程语言之一。 自20年前创建以来,它来已经走了很长一段路。 作为第一个也是唯一一个由Web浏览器本机支持的脚本语言。 在一开始,它并没有像现在...

    hiyang 评论0 收藏0
  • JSON简介

    1.JSON语法 JSON是一种轻量级的数据交换格式。JSON语法可以表示以下三种类型的值: 简单值:string,number,boolean,null,不支持undefined 对象 数组 语法: JSON字符串必须使用双引号 没有声明变量 没有末尾的分号 2.JSON解析与序列化 2.1JSON序列化 序列化函数:JSON.stringify()JSON.stringify()可接收...

    LucasTwilight 评论0 收藏0
  • JavaScript 简介

    摘要:简介原文链接简称是一种轻量级,解释型的编程语言,其函数是一等公民。标准的目标是让任何一种程序设计语言能操控使用任何一种标记语言编写出的任何一份文档。核心规定了如何映射基于的文档结构,以便简化对文档的任意部分的访问和操作。 JavaScript 简介 原文链接 JavaScript ( 简称:JS ) 是一种 轻量级,解释型 的编程语言,其函数是一等公民。众所周知,它是用于网页开发的脚...

    URLOS 评论0 收藏0

发表评论

0条评论

SHERlocked93

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<