Javascript関数のパラメータ
2985 ワード
この文章は金旭亮先生の網易雲教室の課程ノートです.
関数のパラメータ
パラメータ値については、JavaScriptはタイプチェックを行いません.どのタイプの値でもパラメータに渡すことができます. 関数パラメータに対しては、値が得られていないパラメータ値がundefinedであり、多すぎると無視されます.
argmentsオブジェクトを利用して、任意のパラメータをサポートする関数を書き出します.argmentsは配列のようですが、実際には配列ではないので、多くの配列方法は使えません.
argments.length 関数で受信したパラメータの数 関数名.length 関数で定義された参照
関数のパラメータ
パラメータ値については、JavaScriptはタイプチェックを行いません.どのタイプの値でもパラメータに渡すことができます. 関数パラメータに対しては、値が得られていないパラメータ値がundefinedであり、多すぎると無視されます.
//
function add(num1, num2) {
return num1 + num2;
}
//
console.info(add(1, 2)); //3
// ,
console.info(add("1", 2)); //12
//
console.info(add(1, 2, 3)); //3
// undefined
//1+undefined=NaN
console.info(add(1)); //NaN
検出パラメータが欠けているかどうかはundefinedであるかどうかを判断します.
//
function sayHello(name, message) {
if (typeof message === 'undefined') {
message = ' !';
}
console.info(name + "," + message);
}
sayHello(" ", " ");
sayHello(" "); // , !
パラメータを保存するアーグメンントオブジェクトargmentsオブジェクトを利用して、任意のパラメータをサポートする関数を書き出します.argmentsは配列のようですが、実際には配列ではないので、多くの配列方法は使えません.
// arguments
function sumNumbers() {
var result = 0;
for (var i = 0; i < arguments.length; i++) {
result += arguments[i];
}
return result;
}
console.info(sumNumbers(1, 2)); //3
console.info(sumNumbers(1, 2, 3)); //6
関数オブジェクトのlength属性 argments.length 関数で受信したパラメータの数 関数名.length 関数で定義された参照
// length
function sayName(name){
console.info(name);
}
function sum(num1, num2){
return num1 + num2;
}
function sayHi(){
console.info("hi");
}
console.info(sayName.length); //1
console.info(sum.length); //2
console.info(sayHi.length); //0
パラメータの関数としてのオブジェクト関数は、別の関数のパラメータとして使用できます.
//
function callSomeFunction(func, argu) {
return func(argu);
}
function getGreeting(name) {
return "Hello, " + name;
}
var result = callSomeFunction(getGreeting, "jxl");
console.info(result); //Hello,jxl
関数パラメータとして名前/匿名関数を使用します.
var callTwice = function (otherFunc) {
otherFunc();
otherFunc();
};
callTwice(function () {
console.info("this is a function");
});
関数はパラメータの例として使用されます.
var button = document.getElementById('btnClick');
var result = document.getElementById('result');
var clickCount = 0;
button.addEventListener('click', function () {
clickCount++;
result.setAttribute('value', clickCount+': Hello,world!');
})
以上述べましたが、本文の内容は全部です.お好きになってください.