(小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别
一、函数的定义:
在说明什么是函数前先举一个小例子:
大家都知道印刷术是我国的四大发明(科普一下:中国四大发明:造纸术、印刷术、火药、指南针)之一,之所以有印刷术,是因为重复的抄写既浪费时间,效率又很低,所以印刷术应用而生,印刷术就像一个工具,有了这个工具,我们就不需要再重复的去抄写一些一模一样的内容。
今天所说的函数就类似于印刷术,我们在书写代码时发现,在实现同一个功能时,所用的代码几乎是一样的,因为实际需要,所以不得不重复的去书写一样的代码,这时我们书写的代码看起来很冗杂,会占据内存空间,解析的时间也会很长,所以,为了使我们的代码书写的更美观,我们可以将我们的代码封装起来,给它一个命名,放在一个独立的模块里,需要使用时拿过来就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>");
function helloworld(){ document.write(('hello world!')+"</br>"); } helloworld() helloworld() helloworld() helloworld() helloworld()
函数的定义:需要反复使用的功能代码,封装成一个独立的模块,这个模块就叫函数。
二、声明函数的方法:
用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
(小白)函数一: 声明函数的方法—语句定义法和表达式定义法的区别相关推荐
- 函数||值传递||函数的常见样式||函数的声明||函数的分文件编写
概述 作用:将一段经常使用的代码封装起来,减少重复代码 一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能. 函数的定义 函数的定义一般主要有5个步骤: 1.返回值类型 2.函数名 3.参数 ...
- 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 重写 MetaClass#invokeMethod 方法拦截 JDK 中已经定义的函数 )
文章目录 一.重写 MetaClass#invokeMethod 方法拦截 JDK 中已经定义的函数 1.被拦截的 String#contains 方法原型 2.JDK 正常用法 3.拦截 Strin ...
- 软件测试培训之:白盒测试的语句覆盖法和判定覆盖法
白盒测试是相对于黑盒测试而言的,黑盒测试不关注程序内部的实现结构,仅仅是通过向程序进行输入来观察程序的输出对不对;白盒测试就需要关注程序内部的实现结构,对程序的逻辑结构实施相关的测试;那么下面来谈谈语 ...
- C语言详解系列——函数的认识(4)函数的声明与定义,简单练习题
文章目录 函数的声明与定义 函数的声明 函数的定义 简单的练习题 写一个函数可以判断一个数是不是素数 写一个函数实现二分查找 写一个函数,每调用一次这个函数,就会将 num 的值增加1. 函数的声明与 ...
- python函数结构_Python函数基础
Python中使用def关键字来声明函数,声明函数的格式为: 有3个需要注意的地方:函数名后面必须加冒号 如果函数体和def不在同一行,则必须缩进 return指定函数返回值,用来结束函数但retur ...
- matlab常用函数——软件常用函数
一.软件操作函数 1)命令窗口函数: clc:清空命令窗口,使用向上箭头翻看命令. open:打开文件,文本文件(*.doc),可执行文件(*.exe),图形文件(*.fig),超文本文件(*.htm ...
- scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例
scala 函数中嵌套函数 Scala中的嵌套函数 (Nested functions in Scala) A nested function is defined as a function whi ...
- 自定义函数(创建函数)
自定义函数(创建函数) 首先,简单介绍一下什么是函数 函数是完成特定任务的独立程序代码单元.语法规则定义了函数的结构和使用方式. 使用函数可以省去编写重复代码的苦差.函数让程序更加模块化,从而提高程序 ...
- 【Kotlin】Kotlin 函数总结 ( 具名函数 | 匿名函数 | Lambda 表达式 | 闭包 | 内联函数 | 函数引用 )
文章目录 一.函数头声明 二.函数参数 1.默认参数值 2.具名参数 三.Unit 函数 四.TODO 函数抛出异常返回 Nothing 类型 五.反引号函数名 六.匿名函数 七.匿名函数的函数类型 ...
最新文章
- 堵住大数据“窃密通道”刻不容缓
- [LeetCode]题解(python):108-Convert Sorted Array to Binary Search Tree
- R语言绘制火山图(volcano plot)实战:为差异表达基因(DEGs)添加颜色、基于显著性阈值进行点的颜色美化、为选定基因添加标签
- 使用B::Deparse模块对perl代码反汇编
- 现代计算机网络的6个方面的应用,现代计算机网络技术应用及发展(共4384字).doc...
- Nginx相关 解决nginx反向代理后页面上的js/css文件无法加载
- 财务造假丑闻后,瑞幸遭大股东清仓股份,CEO和COO双双被停职
- angular --开发环境搭建及项目创建
- Django日志模块logging的配置详解
- java中改变文本字体和大小_Java实训——编写一个窗体程序,可以对文本区中的文字设置字体和大小。...
- 宜信正式开源其 AIOps 落地三大利器
- PowerDesigner执行sql脚本方式建立数据模型
- JRebel:Cannot reactivate, offline seat in use.
- 《中国天气预报》城市编号一览表
- openssl的微缩图计算
- table在html是什么意思,html5中table指的是什么意思
- java sorted 方法_多个.sorted(…)调用java 8流
- VMware vCenter Server 8.0U1 发布 - 集中式管理 vSphere 环境
- 三分钟教会你用Python爬取到喜欢的小姐姐图片
- 开发者道路上的季度考核及360环评----------囚徒困境
热门文章
- shell:多个文件按行合并
- 【codeforces 103E】 Buying Sets
- 为什么下了android 4.1 的SDK后在本地用浏览器看api说明文档时,浏览器打开api的html文件很慢?试了好几款浏览器都一样。为什么?...
- 标准make变量 MAKE_VERSION, CURDIR
- hadoop eclipse windows
- Java04异常、断言、日志和调试
- iOS底层原理探究-Runloop
- 查询指定目录下的文件中是否包含指定字符串
- wcf会话、实例化、并发
- 【年少的风】C#小学生算式×××2