函式的作用在於将一段或多段函式包装在一起,方便反覆使用,一目了然也方便维护。当需要重复执行一次计算或重复做一件事的时候,就会需要用到函式。
像这样就是一个函式:
function firstFun () {
console.log('桃花岛的五行八卦阵');
}
函式执行前要先被定义,但是定义好的函式不会自动执行,要在程序中呼喊爱情,啊!不对!是呼叫函式,函式才会动起来!
最常见的函式宣告方式有以下三种:
function 函式名称 (参数1, 参数2...){
//do something
}
我们已可以把参数带入function中使用:
function firstFun (name) {
console.log( name + '闯入桃花岛的五行八卦阵');
}
firstFun('郭靖') //郭靖闯入桃花岛的五行八卦阵
函式表达式长这个样子:
var 变数名称 = function 函式名称(){
//do something
}
函式表达式清楚地展示了如何将一个函式储存在一个变数中,从而透过变数我们可以反覆地叫用函式。函式的名称只有在「自己函式的区块内」有效,离开这个函式的范围,函式的名称就失去了效用。
透过「变数名称()」就可以呼叫函式,所以「函式名称」不是一定要的,这种没有名字的函式在JavaScript是允许的,通常被称为「匿名函式」。
var 变数名称 = function (){
//do something
}
var firstFun = function (name) {
console.log( name + '闯入桃花岛的五行八卦阵');
}
firstFun('郭靖') //郭靖闯入桃花岛的五行八卦阵
第三种则是透过 new关键字 + Function的方式来建立函式物件。
var 变数名称 = new Fnction ('参数','do something')
因为这种方式,每次执行都要解析字串,效能甚差,实务上很少使用。
对一个新手而言,刚遇到这个return实在是丈二金刚摸不着脑?return到底是要转到哪里去?
後来搞懂了,原来函式执行後,return会中止程序执行并回传一个值(value),如果没有值可以回传,则会会传undefined。
var funNoReturn = function square(num){
num * num;
}
funNoReturn(2);
//undefined 没有回传值,所以undefined
var funReturn = function square(num){
return num * num;
}
funReturn(2);
//4 加上retrurn之後,就有回传值了
回传值是函式输出的值,可以带入其他的程序码中继续运算。函式可以接受多个参数,但是只能回传一个值,如果没有告诉函是要回传什麽,就会回传undefined。
也可以把函式呼叫当作值来使用:
var funReturn = function square(num){
return num * num;
}
funReturn(2) + funReturn(3);
//13
我们也可以利用return来结束函示执行,如果函式的任意一个参数无效,就提前跳出函式。无效指的是,参数不符合函式所定义的条件。
var fun = function (num){
if(num > 5){
return;
}
return num * num;
}
fun(6); //undefined
fun(2); //"4"
fun(6)因为num >5,参数符合if条件 ,就执行{}内程序码,return跳出了函式,回传undefined。
fun(2)因为num<5,参数不符合if条件,所以继续往下执行return num * num,回传值为4。
<<: Day 7 网路宝石:【Lab】VPC外网 Public Subnet to the Internet (IGW) (上)
>>: Day 12 Azure cognitive service: OCR- 光学字元辨识
JQuery-锚点动画 什麽是锚点 & 锚点的作用是什麽 他是超连结的一种,可以帮助我们更快...
Q1. Queue是什麽? 与 Stack 一样,是一种资料结构的概念,假设有一个容器是装马克杯的盒...
给你五秒钟思考一下,你在日常生活中还有在使用没有任何图片,包括小小 的 Icon 也没有的网站吗?...
router-link to 函数 指定导向,包含以下方法 <!-- 直接指定路径 -->...
接下来的范例都会以vue.js语法撰写喔! 情境 在上传图档到server前,须在前端UI上显示预览...