S2-062_RCE漏洞復現(CVE-2021-31805)
阿新 • • 發佈:2022-04-21
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函式覆蓋了前面的函式。