一、函数的定义:

在说明什么是函数前先举一个小例子:

大家都知道印刷术是我国的四大发明(科普一下:中国四大发明:造纸术、印刷术、火药、指南针)之一,之所以有印刷术,是因为重复的抄写既浪费时间,效率又很低,所以印刷术应用而生,印刷术就像一个工具,有了这个工具,我们就不需要再重复的去抄写一些一模一样的内容。

今天所说的函数就类似于印刷术,我们在书写代码时发现,在实现同一个功能时,所用的代码几乎是一样的,因为实际需要,所以不得不重复的去书写一样的代码,这时我们书写的代码看起来很冗杂,会占据内存空间,解析的时间也会很长,所以,为了使我们的代码书写的更美观,我们可以将我们的代码封装起来,给它一个命名,放在一个独立的模块里,需要使用时拿过来就OK了!

比如说我们在不使用任何循环语句直接想打印5次“hello world!”时,这时我们就需要重复输出5次“hello world!”,代码如下:

document.write(('hello world!')+"</br>");
document.write(('hello world!')+"</br>");
document.write(('hello world!')+"</br>");
document.write(('hello world!')+"</br>");
document.write(('hello world!')+"</br>");

接下来我们封装一个函数来打印“hello world!”
function helloworld(){
document.write(('hello world!')+"</br>");
}
helloworld()
helloworld()
helloworld()
helloworld()
helloworld()

很明显:我们用函数来打印“hello world”,不用再重复的书写一样的代码,只需要使用的时候调用就OK了!

函数的定义:需要反复使用的功能代码,封装成一个独立的模块,这个模块就叫函数。

二、声明函数的方法:

用function来定义函数

我们了解了什么是函数后,接着来看一下怎么声明函数,通俗点说就是怎么使用这个函数:

1.语句定义法:

其实我们在打印“hello world”时使用的方法就是语句定义法

格式:function 函数名(){

函数块;

}

调用:函数名()

2.表达式定义法:

一说表达式,肯定是和赋值有关,我们可以大胆的猜想一下,表达式定义法是不是就是我们将一个函数赋值给了一个变量呢?

看一下它的格式:

var 变量名 = function[函数名](){

函数块;

}

调用:变量名()

注意:var后面的是它声明的这个变量的变量名,不是函数名,函数名还是在function后面,之所以将函数名写在[]中,是因为在表达式定义法中,函数名是可以省略的,通常情况下,函数名我们也都是省略不写的。

语句定义法和表达式定义法在以后的使用中,语句定义法会更常用。

为什么说语句定义法更常用呢,这就要说一下语句定义法和表达式定义法的区别了:

3、语句定义法和表达式定义法的区别:

语句定义法会提升函数,会在执行代码前读取函数声明,通俗讲就是我们可以在任何位置调用这个函数;

//person() 函数前调用     //张三
function person(){
var name = "张三";
alert(name);
}
person() //函数后调用    //张三

表达式定义法不会提升函数,必须先声明函数,再调用;

//person(); 报错:控制台输出person is not a function
var person = function(){
var name = "张三";
alert(name);
}
person(); //张三

转载于:https://www.cnblogs.com/kinoko-1009/p/10272047.html

(小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别相关推荐

  1. 函数||值传递||函数的常见样式||函数的声明||函数的分文件编写

    概述 作用:将一段经常使用的代码封装起来,减少重复代码 一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能. 函数的定义 函数的定义一般主要有5个步骤: 1.返回值类型 2.函数名 3.参数 ...

  2. 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 重写 MetaClass#invokeMethod 方法拦截 JDK 中已经定义的函数 )

    文章目录 一.重写 MetaClass#invokeMethod 方法拦截 JDK 中已经定义的函数 1.被拦截的 String#contains 方法原型 2.JDK 正常用法 3.拦截 Strin ...

  3. 软件测试培训之:白盒测试的语句覆盖法和判定覆盖法

    白盒测试是相对于黑盒测试而言的,黑盒测试不关注程序内部的实现结构,仅仅是通过向程序进行输入来观察程序的输出对不对;白盒测试就需要关注程序内部的实现结构,对程序的逻辑结构实施相关的测试;那么下面来谈谈语 ...

  4. C语言详解系列——函数的认识(4)函数的声明与定义,简单练习题

    文章目录 函数的声明与定义 函数的声明 函数的定义 简单的练习题 写一个函数可以判断一个数是不是素数 写一个函数实现二分查找 写一个函数,每调用一次这个函数,就会将 num 的值增加1. 函数的声明与 ...

  5. python函数结构_Python函数基础

    Python中使用def关键字来声明函数,声明函数的格式为: 有3个需要注意的地方:函数名后面必须加冒号 如果函数体和def不在同一行,则必须缩进 return指定函数返回值,用来结束函数但retur ...

  6. matlab常用函数——软件常用函数

    一.软件操作函数 1)命令窗口函数: clc:清空命令窗口,使用向上箭头翻看命令. open:打开文件,文本文件(*.doc),可执行文件(*.exe),图形文件(*.fig),超文本文件(*.htm ...

  7. scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例

    scala 函数中嵌套函数 Scala中的嵌套函数 (Nested functions in Scala) A nested function is defined as a function whi ...

  8. 自定义函数(创建函数)

    自定义函数(创建函数) 首先,简单介绍一下什么是函数 函数是完成特定任务的独立程序代码单元.语法规则定义了函数的结构和使用方式. 使用函数可以省去编写重复代码的苦差.函数让程序更加模块化,从而提高程序 ...

  9. 【Kotlin】Kotlin 函数总结 ( 具名函数 | 匿名函数 | Lambda 表达式 | 闭包 | 内联函数 | 函数引用 )

    文章目录 一.函数头声明 二.函数参数 1.默认参数值 2.具名参数 三.Unit 函数 四.TODO 函数抛出异常返回 Nothing 类型 五.反引号函数名 六.匿名函数 七.匿名函数的函数类型 ...

最新文章

  1. 堵住大数据“窃密通道”刻不容缓
  2. [LeetCode]题解(python):108-Convert Sorted Array to Binary Search Tree
  3. R语言绘制火山图(volcano plot)实战:为差异表达基因(DEGs)添加颜色、基于显著性阈值进行点的颜色美化、为选定基因添加标签
  4. 使用B::Deparse模块对perl代码反汇编
  5. 现代计算机网络的6个方面的应用,现代计算机网络技术应用及发展(共4384字).doc...
  6. Nginx相关 解决nginx反向代理后页面上的js/css文件无法加载
  7. 财务造假丑闻后,瑞幸遭大股东清仓股份,CEO和COO双双被停职
  8. angular --开发环境搭建及项目创建
  9. Django日志模块logging的配置详解
  10. java中改变文本字体和大小_Java实训——编写一个窗体程序,可以对文本区中的文字设置字体和大小。...
  11. 宜信正式开源其 AIOps 落地三大利器
  12. PowerDesigner执行sql脚本方式建立数据模型
  13. JRebel:Cannot reactivate, offline seat in use.
  14. 《中国天气预报》城市编号一览表
  15. openssl的微缩图计算
  16. table在html是什么意思,html5中table指的是什么意思
  17. java sorted 方法_多个.sorted(…)调用java 8流
  18. VMware vCenter Server 8.0U1 发布 - 集中式管理 vSphere 环境
  19. 三分钟教会你用Python爬取到喜欢的小姐姐图片
  20. 开发者道路上的季度考核及360环评----------囚徒困境

热门文章

  1. shell:多个文件按行合并
  2. 【codeforces 103E】 Buying Sets
  3. 为什么下了android 4.1 的SDK后在本地用浏览器看api说明文档时,浏览器打开api的html文件很慢?试了好几款浏览器都一样。为什么?...
  4. 标准make变量 MAKE_VERSION, CURDIR
  5. hadoop eclipse windows
  6. Java04异常、断言、日志和调试
  7. iOS底层原理探究-Runloop
  8. 查询指定目录下的文件中是否包含指定字符串
  9. wcf会话、实例化、并发
  10. 【年少的风】C#小学生算式×××2