var employeeId = 'abc123';
function foo() {
employeeId = '123bcd';
return;
function employeeId() {
var x = 0;
}
}
foo();
console.log(employeeId); //abc123
प्रश्न उत्थापन पर आधारित है। हम यहां कंसोल.लॉग में कर्मचारी आईडी प्रिंट कर रहे हैं। क्या कोई उपरोक्त कोड के आउटपुट की व्याख्या कर सकता है?
0
Vivek Aggarwal
14 फरवरी 2020, 09:34
1 उत्तर
उत्थापन के नियम से, उसी बंद में, function
घोषणा लगभग बराबर है:
var employeeId = 'abc123';
function foo() {
var employeeId = function () { // hoisted from the function below
var x = 0;
}
employeeId = '123bcd';
return;
// function employeeId() {
// var x = 0;
// }
}
foo();
console.log(employeeId); //abc123
इसलिए बाहरी दायरे employeeId
में कोई बदलाव नहीं किया गया है क्योंकि यह foo
में अस्पष्ट हो गया है। समारोह का दायरा।
3
Hao Wu
14 फरवरी 2020, 09:45
अरे यार यह कितना सूक्ष्म है। यह समस्या Javascript की जटिलताओं में गहरी खुदाई कर रही है।
– Jeremy Thille
14 फरवरी 2020, 11:14