Baseline Widely available
ÐонÑÑÑÑкÑÐ¾Ñ Function
ÑоздаÑÑ Ð½Ð¾Ð²Ñй обÑÐµÐºÑ Function
. ÐÑзов конÑÑÑÑкÑоÑа напÑÑмÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑоздаваÑÑ ÑÑнкÑии пÑогÑаммнÑм пÑÑÑм, однако Ñакой ÑпоÑоб пÑедÑÑавлÑÐµÑ ÑгÑÐ¾Ð·Ñ Ð´Ð»Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи, а Ñакже неÑÑÑ ÑазнÑе (Ñ
оÑÑ Ð½Ðµ Ñакие знаÑиÑелÑнÑе) пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð¿ÑоизводиÑелÑноÑÑÑÑ Ð¿Ñи иÑполÑзовании Ñ Global_Objects/eval
. Ðднако в оÑлиÑие Ð¾Ñ eval, конÑÑÑÑкÑÐ¾Ñ Function
ÑоздаÑÑ ÑÑнкÑии, вÑполнÑемÑе ÑолÑко в глобалÑной облаÑÑи видимоÑÑи.
const sum = new Function("a", "b", "return a + b");
console.log(sum(2, 6));
// Expected output: 8
СинÑакÑиÑ
new Function(arg1, functionBody)
new Function(arg1, arg2, functionBody)
new Function(arg1, ... , argN, functionBody)
ÐаÑамеÑÑÑ
arg1, arg2, ... argN
Ðмена, иÑполÑзÑемÑе ÑÑнкÑией в каÑеÑÑве имÑн ÑоÑмалÑнÑÑ Ð°ÑгÑменÑов. Ðаждое Ð¸Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ бÑÑÑ ÑÑÑокой Ñ Ð¿ÑавилÑнÑм JavaScript-знаÑением (либо иденÑиÑикаÑоÑом, оÑÑавÑимÑÑ Ð¿Ð°ÑамеÑÑом, или деÑÑÑÑкÑÑÑиÑÑÑÑим пÑиÑваиванием, либо ÑпиÑком ÑÐ°ÐºÐ¸Ñ ÑÑÑок, ÑазделÑннÑÑ Ð·Ð°Ð¿ÑÑой.
ÐоÑколÑÐºÑ Ð¿Ð°ÑамеÑÑÑ ÑазбиÑаÑÑÑÑ Ñак же, как и обÑÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑÑнкÑий, допÑÑкаеÑÑÑ Ð¸ÑполÑзование пÑобелов и комменÑаÑиев. ÐапÑимеÑ: "x", "theValue = 42", "[a, b] /* numbers */"
â или "x, theValue = 42, [a, b] /* numbers */"
. ("x, theValue = 42", "[a, b]"
Ñакже бÑÐ´ÐµÑ Ð¿ÑавилÑнÑм, Ñ
оÑÑ ÑÑÑдно ÑиÑаемÑм).
functionBody
СÑÑока, ÑодеÑжаÑÐ°Ñ Ð¸Ð½ÑÑÑÑкÑии JavaScript, ÑоÑÑавлÑÑÑие опÑеделение ÑÑнкÑии.
ÐбÑекÑÑ Function
, ÑозданнÑе конÑÑÑÑкÑоÑом Function
, ÑазбиÑаÑÑÑÑ Ð¿Ñи Ñоздании ÑÑнкÑии. ÐпÑеделение ÑÑнкÑии пÑи помоÑи вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ function или инÑÑÑÑкÑии function и вÑзова ÐµÑ Ð²Ð½ÑÑÑи ваÑего кода более ÑÑÑекÑивно, поÑколÑÐºÑ Ñакие ÑÑнкÑии ÑазбиÑаÑÑÑÑ Ð²Ð¼ÐµÑÑе Ñ Ð¾ÑÑалÑнÑм кодом.
ÐÑе аÑгÑменÑÑ, пеÑеданнÑе в ÑÑнкÑиÑ, ÑÑакÑÑÑÑÑÑ ÐºÐ°Ðº имена иденÑиÑикаÑоÑов паÑамеÑÑов Ñоздаваемой ÑÑнкÑии, и имеÑÑ ÑÐ¾Ñ Ð¶Ðµ поÑÑдок ÑледованиÑ, ÑÑо и пÑи иÑ
пеÑедаÑе в конÑÑÑÑкÑÐ¾Ñ ÑÑнкÑии. ÐÑли опÑÑÑиÑÑ Ð°ÑгÑменÑ, Ñо знаÑение ÑÑого паÑамеÑÑа бÑÐ´ÐµÑ undefined
.
ÐÑзов конÑÑÑÑкÑоÑа Function
как ÑÑнкÑии (без иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð¿ÐµÑаÑоÑа new
) Ð¸Ð¼ÐµÐµÑ ÑÐ¾Ñ Ð¶Ðµ ÑамÑй ÑÑÑекÑ, ÑÑо и вÑзов его как конÑÑÑÑкÑоÑа.
СледÑÑÑий код ÑоздаÑÑ Ð¾Ð±ÑÐµÐºÑ `Function, коÑоÑÑй пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð´Ð²Ð° аÑгÑменÑа.
// ÐÑÐ¸Ð¼ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°Ð¿ÑÑен непоÑÑедÑÑвенно в ваÑей конÑоли JavaScript
// СоздаÑм ÑÑнкÑиÑ, пÑинимаÑÑÑÑ Ð´Ð²Ð° аÑгÑменÑа, и возвÑаÑаÑÑÑÑ Ð¸Ñ
ÑÑммÑ
const adder = new Function("a", "b", "return a + b");
// ÐÑзÑваем ÑÑнкÑиÑ
adder(2, 6);
// 8
ÐÑгÑменÑÑ "a
" и "b
" ÑвлÑÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ ÑоÑмалÑнÑÑ
аÑгÑменÑов, коÑоÑÑе иÑполÑзÑÑÑÑÑ Ð² Ñеле ÑÑнкÑии, "return a + b
".
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4