जवाबों:
हमें केवल शीर्ष Google हिट के बजाय जानकारी के वास्तविक स्रोतों से जोड़ना चाहिए।
http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Reserved_Words
JScript 8.0: http://msdn.microsoft.com/en-us/library/ttyab5c8.aspx
यहां मेरी कविता है, जिसमें जावास्क्रिप्ट में सभी आरक्षित कीवर्ड शामिल हैं, और उन लोगों के लिए समर्पित है जो इस क्षण में ईमानदार रहते हैं, और न केवल स्कोर करने की कोशिश करते हैं:
Let this long package float,
Goto private class if short.
While protected with debugger case,
Continue volatile interface.
Instanceof super synchronized throw,
Extends final export throws.
Try import double enum?
- False, boolean, abstract function,
Implements typeof transient break!
Void static, default do,
Switch int native new.
Else, delete null public var
In return for const, true, char
…Finally catch byte.
Benc के उत्तर के पूरक के लिए , मानक ECMA-262 देखें । ये आधिकारिक आरक्षित शब्द हैं, लेकिन मानक का सम्मान करने के लिए केवल एक पेडेंट कार्यान्वयन पर ध्यान नहीं देता है। सबसे लोकप्रिय कार्यान्वयन के आरक्षित शब्दों के लिए, जो कि फ़ायरफ़ॉक्स और इंटरनेट एक्सप्लोरर है, बेंस का जवाब देखें।
EMCAScript-262 में आरक्षित शब्द Keyword s, Future सुरक्षित Word s, NullLiteral और BooleanLiteral s हैं, जहाँ कीवर्ड हैं
break do instanceof typeof
case else new var
catch finally return void
continue for switch while
debugger function this with
default if throw
delete in try
भविष्य सुरक्षित वर्ड रों हैं
abstract export interface static
boolean extends long super
byte final native synchronized
char float package throws
class goto private transient
const implements protected volatile
double import public
enum int short
NullLiteral है
null
और बूलियनलिटरल एस हैं
true
false
मैं सिर्फ जावास्क्रिप्ट और jQuery में इस बारे में पढ़ रहा था : द मिसिंग मैनुअल :
इन सभी आरक्षित शब्दों के कारण सभी ब्राउज़रों में समस्याएँ नहीं होंगी, लेकिन चरों का नामकरण करते समय इन नामों को स्पष्ट करना सबसे अच्छा है।
जावास्क्रिप्ट कीवर्ड
break, case, catch, continue, debugger, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with:।भविष्य के उपयोग के लिए आरक्षित
abstract, boolean, byte, char, class, const, double, enum, export, extends, final, float, goto, implements, import, int, interface, let, long, native, package, private, protected, public, short, static, super, synchronized, throws, transient, volatile, yield:।ब्राउज़र में पूर्व-परिभाषित वैश्विक चर
alert, blur, closed, document, focus, frames, history, innerHeight, innerWidth, length, location, navigator, open, outerHeight, outerWidth, parent, screen, screenX, screenY, statusbar, window:।
alertपहले से ही इनिशियलाइज़ किया गया है, लेकिन कुछ भी आपको पुन: असाइन करने से नहीं रोकता है alert = 5। हालाँकि, आप window5 पर सेट नहीं कर सकते , लेकिन आप इसे स्थानीय चर के रूप में उपयोग कर सकते हैं। यही कारण है कि आरक्षित कीवर्ड, भविष्य में उपयोग के साथ संभव नहीं है, null, false, true।
यह निर्धारित करने के लिए एक ब्राउज़र और भाषा संस्करण अज्ञेयवादी तरीका है कि क्या किसी विशेष स्ट्रिंग को जावास्क्रिप्ट इंजन द्वारा एक कीवर्ड के रूप में माना जाता है। इस उत्तर का श्रेय जो समाधान का मूल प्रदान करता है।
function isReservedKeyword(wordToCheck) {
var reservedWord = false;
if (/^[a-z]+$/.test(wordToCheck)) {
try {
eval('var ' + wordToCheck + ' = 1');
} catch (error) {
reservedWord = true;
}
}
return reservedWord;
}
evalभी चीज़ के लिए उपयोग करना है, तो इसका सबसे अधिक मतलब है कि आप इसे गलत कर रहे हैं।
वर्तमान उत्तरों में से कोई भी चेतावनी नहीं देता है कि ईएस-बोली की परवाह किए बिना, ब्राउज़रों ने ईएस के निर्देशों के शीर्ष पर आरक्षित खोजशब्दों, विधियों आदि की अपनी सूची दी है।
उदाहरण के लिए, IE9 तरह तार्किक नामों का उपयोग प्रतिबंधित: addFilter,removeFilter (वे, दूसरों के बीच, विधियों आरक्षित हैं)।
IE9 के लिए अधिक विशिष्ट 'वर्तमान में ज्ञात' सूची के लिए http://www.jabcreations.com/blog/internet-explorer-9 देखें । मुझे अभी तक msdn (या कहीं और) पर उनका कोई आधिकारिक संदर्भ नहीं मिला है।
यहाँ एलोकेंट जावास्क्रिप्ट पुस्तक से एक सूची है:
breakcasecatchclassconstcontinuedebuggerdefaultdeletedoelseenumexportextendfalsefinallyforfunctionifimplementsimportininstanceofinterfaceletnewnullpackageprivateprotectedpublicreturnstaticsuperswitchthisthrowtruetrytypeofvarvoidwhilewithyieldbenc का उत्तर उत्कृष्ट है, लेकिन मेरे दो सेंट के लिए, मुझे इस पर w3schools का पेज पसंद है:
http://www.w3schools.com/js/js_reserved.asp
मानक द्वारा आरक्षित खोजशब्दों को सूचीबद्ध करने के अलावा, इसमें उन खोजशब्दों की एक लंबी सूची भी है जिन्हें आपको कुछ संदर्भों से बचना चाहिए ; उदाहरण के लिए, alertकिसी ब्राउज़र में चलाने के लिए कोड लिखते समय नाम का उपयोग नहीं करना । इससे मुझे यह पता लगाने में मदद मिली कि कुछ शब्द मेरे संपादक में कीवर्ड के रूप में क्यों हाइलाइट हो रहे थे, हालांकि मुझे पता था कि वे कीवर्ड नहीं थे।