函式在 JavaScript 中为物件型别,以下列出它一般的物件差别
{}
能撰写程序码()
能传递参数this
和执行环境return
能回传值范例:
function fn(parameter) {
const localVariable = '区域变数';
console.log(this, localVariable); // this、区域变数
return `附加一段${parameter}` // 回传
};
const data = fn('参数'); // 呼叫函式
console.log(data);
在范例中可以看出函式拥有自己的 this
和变数,
以及回传参数和被呼叫的能力,
而 functionA('参数')
为表达式,
因此能够将函式中 return
的结果赋予到变数 data
中,
所以 data
的值会是函式中 return
的内容,
接着我们来看函式陈述式和函式表达式的内容
我们先来看函式陈述式的结构
function fnA() {
console.log('函式陈述式', '具名函式');
console.log(fnA);
};
fnA();
当我们显示 fnA
时,
会看见 f
的後方会显示函式名称 fnA
,
这种函式称为具名函式,
而函式陈述式一定要给名称,
因此函式陈述式都是具名函式
接着看函式表达式
const fnB = function() {
console.log('函式表达式', '匿名函式');
console.log(fnB);
};
fnB();
当我们显示 fnB
时,
会看见 f
的後方没有函式名称,
这类函式则称为匿名函式,
但函式表达式也能使用具名函式
const fnC = function fnD() {
console.log('函式表达式', '具名函式')
console.log(fnC);
console.log(fnD);
};
fnC();
当我们显示 fnC
和 fnD
时,
会发现虽然宣告的变数为 fnC
,但显示的函式名称都是 fnD
,
那是因为我们在宣告函式时,就已经给它函式名称 fnD
,
但有一点要注意,
函式表达式中具名函式的函式名称只能在函式内呼叫,在函式外呼叫会出错
const fnC = function fnD() {};
console.log(fnD);
>>: Day21 Laravel - command & schedule
Youtube 频道:https://www.youtube.com/c/kaochenlong ...
前言 从2020/11月开始决定要花过多时间在学习前端之後,就开始规划每日应该投入的时间,假日该如何...
今天我们正式要使用 Markdown 撰写你的第一篇部落格文章啦! 用指令建立文章或草稿 .md 档...
今天是最後一天啦!但学习的路还尚未中断!笔者今天想聊聊不一样的,看到标题应该可以猜到,我们今天要来聊...
在我们看来一切都是理所当然的,任何时候都能表达自己的想法,每天过着平凡又充实的生活,享受甚至忘记黑暗...