जब की तरह कोड लिखने इस jsLint गर्भित वैश्विक बारे में शिकायत:जावास्क्रिप्ट में निहित वैश्विक बचना (JSlint)
var Test = (function(){
var fnc = function(x){
alert("pew: "+x);
};
return {
fnc: fnc
};
}());
Test.fnc("hat");
(विशेष रूप से, 'गर्भित वैश्विक: चेतावनी 4')
क्या माना जाता है सही तरीका इससे बचने के लिए? मेरे सहज प्रतिक्रिया यह है, लेकिन मैं आश्वस्त नहीं हूँ यह 'सही' है:
var Test2 = (function(global){
var alert = global.alert;
var fnc = function(x){
alert("pew: "+x);
};
return {
fnc: fnc
};
}(this));
Test2.fnc("hat");
संपादित करें: आम सहमति है कि समस्या यह है कि मैं एक वैश्विक तक पहुँचने कर रहा हूँ नहीं है प्रतीत हो रहा है, यह और अधिक है कि मैं jslint नहीं कह रहा हूँ ग्लोबल्स क्या हैं। मैं इसे देखने के लिए थोड़ी देर तक छोड़ दूंगा कि किसी और के पास इनपुट है, तो मैं एक जवाब चुनूंगा।
आईआईआरसी वैरिएबल नाम घोषणाओं को अल्पविराम से अलग करने की आवश्यकता नहीं है? –
@ZackTheHuman वहाँ अंतरिक्ष अलग है। जेएसलिंट कहता है कि अल्पविराम अलग हो गया है। मैंने त्रुटियों के बिना हमेशा एक स्पेस सेपरेटेड सूची का उपयोग किया है। यह शायद – Raynos
दोनों को संभालता है ध्यान दें कि टिप्पणी की शुरुआत और 'वैश्विक' के बीच कोई जगह नहीं होनी चाहिए अन्यथा jslint इसे संसाधित नहीं करता है। – oyenamit