mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2025-12-31 06:01:50 -05:00
2.3 KiB
2.3 KiB
id, title, challengeType, videoUrl, forumTopicId, dashedName
| id | title | challengeType | videoUrl | forumTopicId | dashedName |
|---|---|---|---|---|---|
| 56533eb9ac21ba0edf2244bf | النطاق المحدود والوظائف | 1 | https://scrimba.com/c/cd62NhM | 18227 | local-scope-and-functions |
--description--
المتغيرات التي أعلنت داخل وظيفة (function)، وكذلك الوسائط (parameters) للوظيفة لديها مجال محدود (local). وهذا يعني أنها لا تكون ظاهرة (أو معروفة) إلا في نطاق الوظيفة.
هذه وظيفة myTest مع متغير محدود يسمى loc.
function myTest() {
const loc = "foo";
console.log(loc);
}
myTest();
console.log(loc);
تفعيل وظيفة myTest() سيعرض مقطع foo في الكونسول. سيؤدي سطر console.log(loc) (خارج وظيفة myTest) إلى ظهور خطأ، حيث إن loc لم يتم تعريفها خارج الوظيفة.
--instructions--
يحتوي المحرر على سطرين console.log لمساعدتك على رؤية ما يحدث. تحقق على الكونسول خلال كتابة الكود لترى كيف يتغير. اعلن متغير محدود اسمه myVar داخل myLocalScope وشغِّل الاختبارات.
ملاحظة: الكونسول سيظل بعرض ReferenceError: myVar is not defined، ولكن هذا لن يتسبب في فشل الاختبارات.
--hints--
لا ينبغي أن يحتوي الكود على متغير شامل يدعى myVar.
function declared() {
myVar;
}
assert.throws(declared, ReferenceError);
يجب عليك إضافة متغير محدود يدعى myVar.
assert(
/functionmyLocalScope\(\)\{.*(var|let|const)myVar[\s\S]*}/.test(
__helpers.removeWhiteSpace(code)
)
);
--seed--
--seed-contents--
function myLocalScope() {
// Only change code below this line
console.log('inside myLocalScope', myVar);
}
myLocalScope();
// Run and check the console
// myVar is not defined outside of myLocalScope
console.log('outside myLocalScope', myVar);
--solutions--
function myLocalScope() {
// Only change code below this line
let myVar;
console.log('inside myLocalScope', myVar);
}
myLocalScope();
// Run and check the console
// myVar is not defined outside of myLocalScope
console.log('outside myLocalScope', myVar);