函式是 JavaScript 非常重要的特性,指的是将一或多段程序包起来,之後可以重覆使用。JavaScript 在执行时的呼叫堆叠也是以函式作为单位。
用 typeof 去检查一个函式的型别他会显示 function,但他仍然属於 Object 物件型别的一种,可以把它视作可以被呼叫(be invoked)的特殊物件。 -- 008
函式宣告方式有好几种,但通常会有三个部分
()
内的部分{}
内的部分这是在 VS code 里的预设范本。function 是函数的宣告方式,通常会给函数一个名称,然後括号是参数(parameters),参数与参数间用 ,
隔开。
这边括号中的 params 跟 008 叙述的 arguments 不一样,咦,是什麽意思?
如下写一个简单的 function,下面呼叫函式内的值就是 arguments
function sum(a, b) {
return a + b;
}
sum(3, 4); // 7,呼叫函式传值给 a, b
sum(6, 7); // 13,呼叫函式传值给 a, b
sum(8, 2); // 10,呼叫函式传值给 a, b
console.log(sum(3, 4), sum(6, 7), sum(8, 2));
搜寻 stackoverflow 里面的回答,简单的说:
Parameter:函式宣告里的参数。
Argument:引数,呼叫函式时传给 params 的资料。
宣告一个变数 = 一个函式,而函式没有指定名称,称为匿名函式。
var QQㄋㄟㄋㄟ好喝到咩噗茶 = function(珍珠, 奶茶) {
return 珍珠 + 奶茶;
};
也可以再替 function 命名
var QQㄋㄟㄋㄟ好喝到咩噗茶 = function 珍奶(珍珠, 奶茶) {
return 珍珠 + 奶茶;
};
但这名称只在自己的函式作用域大括号 {}
里有效,离开 {}
变数名珍奶就不存在了。
看使用情境而定,可以透过变数名取得函式,不一定要另外命名。
var QQㄋㄟㄋㄟ好喝到咩噗茶 = function 珍奶(珍珠, 奶茶) {
console.log(typeof 珍奶); // typeof function
return 珍珠 + 奶茶;
};
console.log(typeof 珍奶); // typeof undefined
var foo = new Function("number", "return number * number");
foo(50); // 2500
如上的方法,直接输入函式名称(参数),例:sum(3, 4)、foo(50);其他呼叫的方式还有 .call() 跟 .apply(),但还没念到,今天就先到这里。
参考资料
What's the difference between an argument and a parameter? -- stackoverflow
008 天重新认识 JavaScript
QQㄋㄟㄋㄟ好喝到咩噗茶
>>: 【Day 13】逻辑回归(Logistic Regression)(下)
接续之前做容器,希望可以用code连到另台电脑的container,做了ssh的一些测试 先做了一个...
当我们网页建立了基本的authentcation,接着就能开始建立我们的功能,首先在web上的htm...
您的公司将源代码视为机密信息;商业秘密保护其机密性。无论版权和专利要求的源代码的公开,但贵公司有意保...
Chap.I 理论基础 Part 4:统计 & 机率 Analyze the data th...
上一篇有介绍压缩的一些套件了 不过有时候 我们在开发的时候 有时压缩 有时不压缩 那要怎麽解决 所以...