functionName:为函式命名,当函式型态为函式陈述式,则必须命名。
函式里面宣告的变数:为区域变数,仅对函式内部有效。
参数:函式可依照输入的参数不同,产生不同的结果。
有关函式表达式及函式陈述式可参考此篇
function functionName(parameter) {
var localVariable = '区域变数';
console.log(this, localVariable); // This、区域变数
return '附加一段' + parameter; // 回传、参数
}
var data = functionName('参数');// 呼叫函式
console.log(data);
var functionC = function functionName() {
console.log(functionC);
console.log(functionName);
}
functionC();
console.log(functionC);
console.log(functionName);
console.log(functionC);
console.log(functionName);}
console.log(functionC);
console.log(functionName);
console.log(functionC);
console.log(functionName);
出现错误讯息:functionName is not defined,因为函式表达式的函式名称只供该表达式调用,无法给其他函式使用。
var num = 1;
var giveMeMoney = function giveMoreMoney(coin) {
num += 1;
console.log('执行 giveMeMoney', num, coin);
return coin > 100 ? coin : giveMoreMoney(num * coin);
};
console.log(giveMeMoney(30));
结果:
function functionName() {
console.log("呼叫成功");
};
functionName(); //呼叫成功
(function functionName2() {
console.log("呼叫成功2");
}()); //呼叫成功2
functionName2(); //出现错误讯息:functionName2 is not defined
(function () {
console.log("匿名函式呼叫成功");
}()); //匿名函式呼叫成功
*填入参数*
(function (参数输出) {
console.log(参数输出);
})('我要呼叫'); //我要呼叫
(function (output) {
console.log(output);
return output;
})('input'); //input
(function (output) {
console.log('123');
return output;
})('input'); //123
var result = (function (output) {
console.log('123');
return output;
})('input'); //123
console.log(result);//input
var a = {}; 把变数a的值(物件的address)当成参数带入立即函式内
(function (参数b) {
参数b.person = 'TOM';
})(a);
console.log(a); //{person: 'TOM'}
(function (参数c) {
console.log(参数c.person); //TOM,因为取相同的值(物件的address)当成参数。
})(a);
延伸:
(function (参数b) {
参数b.person = 'TOM';
})(window);
(function (参数c) {
console.log(person); //TOM
})();
延伸解:
function add(a, b) {
console.log(a + b)
}
add(1, 2)
上方会出现3的结果,是因为function add执行了里面的console.log。
function add(a, b) {
return a + b
}
add(1, 2); //无结果。
console.log(add(1, 2)); //3
var x = add;
console.log(x); //ƒ add(a, b) {return a + b}
console.log(x(1, 2)); //3
参考:
>>: 【Vue】引入 Vue Carousel 轮播图套件| 专案实作
前言 今天接着完成翻译任务实作的第二阶段-模型推论。 翻译器建立实作 重新评估翻译模型 上次由於输入...
前言 昨天讲到为什麽要使用self-attention,今天稍微来介绍一下self-attentio...
今天反过来,试试文字转换语音的范例 跟前天的语音服务-语音转换文字范例(from-file)一样 把...
引言 今天讲的东西会稍微多一点, 我们直接开始吧~ General Skills / Based ...
今日题目 题目:414. Third Maximum Numbe 题目主题:Array, Sorti...