2011-09-28 10 views
8

SCRPT5039: Redeclaration of const property line 1 character 1जेएस त्रुटि 'redeclaration' var में जब यह प्रोग्राम में पहली पंक्ति है?

पंक्ति 1: var editObj = null;

इस फ़ाइल की शुरुआत है और मुझे यकीन है कि चर किसी अन्य js फ़ाइलों बुलाया जा रहा है में नहीं है बनाने के लिए जाँच की। क्या यह कह रहा है कि मैं इसे बाद में फिर से चलाता हूं? (यदि ऐसा है कि लाइन संदर्भ उपयोगी नहीं है) या इसके साथ क्या गलत है?

+0

कौन सा ब्राउज़र या अन्य जावास्क्रिप्ट इंजन? आपको यह त्रुटि कहां मिली? एससीआरपीटी 5039 क्या है? –

+0

यह कहता है कि आपने इसे पहले घोषित कर दिया है, फिर से जांचें .. – amosrivera

+0

सिर्फ इसलिए कि _that_ स्क्रिप्ट में पहली पंक्ति यह कोई फर्क नहीं पड़ता कि इससे पहले कि अन्य स्क्रिप्ट लोड हो जाएं। –

उत्तर

3

संपादित करें: इसे ठीक करें। मेरे लिए, वैसे भी। मैं पुन: घोषणा त्रुटि से पहले यह त्रुटि आई:

HTML1113: Document mode restart from Quirks to IE9 Standards 

यह आईई पता चलता है कि क्या यह सोचता है कि कोई त्रुटि है पता चलता है, तो क्वर्क्स मोड में फिर से पेज लोड करता है। पृष्ठ को दो बार लोड करने से यह लगता है कि सब कुछ दो बार घोषित किया जाता है। तो समाधान यह पता लगाने के लिए है कि आईई क्या पसंद नहीं आया।

सबसे पहले मैंने online HTML validator के माध्यम से पृष्ठ चलाया। इसके बाद मैंने jsLint के माध्यम से अपना जावास्क्रिप्ट चलाया। उसके बाद, आईई 9 खुश लग रहा था। और एक बोनस के रूप में मेरे पास बेहतर गुणवत्ता कोड है। मुझे उम्मीद है।

var window; 

मैं जब निम्न कोड का उपयोग कर एक नोड त्रुटि वैकल्पिक हल के लिए इस घोषणा जोड़ा था:

if (!window) { 
    //node-specific stuff 
} 

ऊपर घोषणा के बिना, नोड wold

5

मैं निम्नलिखित कोड के साथ यह त्रुटि आई शिकायत करते हैं। अंत में, मैंने नोड और ब्राउज़र कार्यान्वयन के बीच सटीक उसी फ़ाइल को साझा करने के बजाय कॉपी/पेस्ट करना चुना।

+0

किसी कारण से यानी इसका समर्थन नहीं करता है। बहुत अजीब – jontro

+0

आपने इसे समझ लिया होगा, लेकिन मैंने देखा कि इस तरह की त्रुटि फेंक दी जाती है जब हम आरक्षित कुंजी शब्दों का उपयोग हमारे परिवर्तनीय नाम के रूप में करते हैं। – Emma

1

मुझे अपने कोड में एक ही समस्या थी और यह पता चला कि आईई गलत रेखा दिखाता है पुनर्विक्रय दिखाई देता है। मेरे मामले में यह इतिहास था जिसे मैं कोड में बाद में उपयोग करता हूं। आपको स्थिरांक के पुनर्विक्रय के लिए पूरा कोड देखना चाहिए। आप कोड के भाग पर टिप्पणी करने का प्रयास कर सकते हैं और देख सकते हैं कि यह त्रुटि कब फेंकती है।

3

मुझे एक ही त्रुटि के साथ एक ही समस्या थी, लेकिन कोड की मेरी पहली पंक्ति alert(0); थी जिसे मैंने यह सुनिश्चित करने के लिए डाला था कि स्क्रिप्ट लोड हो रही थी! दिलचस्प बात यह है कि स्क्रिप्ट आईई 9 के डेवलपर टूल के अनुसार लोड किया गया था, लेकिन पहली पंक्ति को कभी निष्पादित नहीं किया गया था और त्रुटि ने alert(0); को पुनर्विक्रय के रूप में इंगित किया था। मैंने इससे पहले लाइनों और रिक्त स्थान भी डाले और रेखा और चरित्र संख्या तदनुसार बदल गई। हालांकि, यह (जाहिर है) चीज को फिर से नहीं देखा गया था क्योंकि यह एक घोषणा भी नहीं है, अकेले एक पुनरावृत्ति!

मैं स्क्रिप्ट के अंत से हिस्सा नष्ट कर दिया है जब तक यह alert(0); (यह दर्शाता है कि स्क्रिप्ट लोड किया था और सफलतापूर्वक पार्स कर दी) मार डाला, और मुझे पता चला कि हमलावर लाइन था:

var screen; 

IE9 बाहर कर देता है पहले से ही window.screen है जिसके साथ यह घोषणा टक्कर लगी है, और screen से eScreen को समस्या का समाधान करने का नाम बदल रहा है।

तो मेरा जवाब है: पुनर्विक्रय कहां है आईई 9 के संकेत पर भरोसा न करें!

(यह भी ध्यान देने योग्य है कि स्क्रिप्ट आईई 7, आईई 8 और आईई 10 पर अपने मूल रूप में ठीक है, आईई 9 पर नहीं।)

+0

यह आईई 9 पर संगतता मोड – JoshBerke

+0

में भी काम करेगा, और मुझे लगता है कि आईई 9 की त्रुटि अब "कॉन्स प्रॉपर्टी का पुनर्वितरण" है, जो अधिक उपयोगी है। –

0

मुझे एक ही त्रुटि थी और इस पोस्ट में आया। जबकि मेरे पास ओपी के समान रूट मुद्दा नहीं था, मैंने सोचा कि अगर मैं अपनी गलती करता हूं और यहां पहुंच जाता हूं तो मैं अपना समाधान साझा करूंगा। मुझे एक अलग जेएस फ़ाइल में त्रुटि मिली। इसे सरल बनाने के बाद, मैंने पाया कि मैं निम्नलिखित कोड से त्रुटि उत्पन्न कर सकता हूं:

var foo = null; 
var bar = null; 
var localData = null; 

त्रुटि ने कहा कि यह पहली पंक्ति से था। हालांकि, फू को फिर से नहीं देखा जा रहा था। समस्या यह थी कि स्थानीय डेटा को कहीं और इस्तेमाल किया जाना चाहिए (मेरे कोड में नहीं)। कोई फर्क नहीं पड़ता कि स्थानीय डेटा फ़ाइल में कितनी दूर घोषित किया गया था, त्रुटि कोड की पहली वास्तविक पंक्ति के रूप में सूचीबद्ध है।

इसलिए, यदि अन्य समाधान काम नहीं करते हैं, तो प्रत्येक फ़ाइल को कोड फ़ाइल में नाम बदलने का प्रयास करें ताकि यह निर्धारित किया जा सके कि समस्या का कारण कौन हो सकता है। भरोसा न करें कि डीबगर सही रेखा पर इशारा कर रहा है।

Encountered: HTML5/JS विंडो स्टोर ऐप।

1

त्रुटि आती है क्योंकि आपने कुछ वैश्विक/स्थानीय चर घोषित कर दिया है जो डिफ़ॉल्ट ब्राउज़र प्रॉपर्टी के साथ मेल खाता है।

var window = ''; 
var navigator = ''; 

ऐसी घोषणा को हटाने/टिप्पणी करने और प्रभाव देखने का प्रयास करें।