mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2025-12-30 21:03:58 -05:00
2.4 KiB
2.4 KiB
id, title, challengeType, videoUrl, forumTopicId, dashedName
| id | title | challengeType | videoUrl | forumTopicId | dashedName |
|---|---|---|---|---|---|
| 56533eb9ac21ba0edf2244bf | النطاق المحلي والوظائف (Local Scope and Functions) | 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);