1. 程式人生 > 其它 >S2-062_RCE漏洞復現(CVE-2021-31805)

S2-062_RCE漏洞復現(CVE-2021-31805)

JavaScript中通過function來宣告函式,後面是函式名、引數、函式體。

function sum(a,b){
return a+b;
}
var result=sum(2,3);
console.log(result);//輸出5

函式可以通過函式名、括號、引數來呼叫。JavaScript中在函式定義的時候不必指定函式的返回型別,return 可以返回函式的值。另外 return 語句可以不返回任何值,這樣函式返回的undefined。

function sum(){
return;
}
var result=sum();
console.log(result);//輸出undefined

JavaScript中的函式定義的時候,可以沒有引數,也可以定義不同型別的引數。在呼叫的時候,同樣可以傳遞和接收引數。

function sum(a,b){
return a+b+arguments[2];
}
var result=sum(2,3,4,5);
console.log(result);//輸出9

上面的函式只定義了兩個引數,但是在呼叫的時候傳遞了4個引數,並不會報錯。同時可以arguments去訪問函式傳遞的引數,arguments是引數的陣列。

JavaScript中函式沒有過載的概念,如果兩個函式名稱相同,則後面的函式會將前面的函式覆蓋。

function sum(a,b){
return a+b+arguments[2];
}
function sum(){
return arguments[2]+arguments[3];
}
var result=sum(2,3,4,6);
console.log(result);//輸出10

上面的result結果為10,後面的sum函式覆蓋了前面的函式。