इस पेज के साथ:"सख्त मोड" सक्षम करने के लिए संभव है; फायरबग और क्रोम के कंसोल में?
<!DOCTYPE html>
<html>
<head>
<script>
"use strict";
var foo = 2;
delete foo;
</script>
</head>
<body></body>
</html>
Firebug सांत्वना देता है:
applying the 'delete' operator to an unqualified name is deprecated
>>> foo
ReferenceError: foo is not defined
foo
लेकिन तब यह सफल होता है:
>>> var bar = 2;
undefined
>>> delete bar;
true
यहां तक कि अगर तुम इतनी है कि स्क्रिप्ट को नहीं तोड़ता है delete foo;
बाहर टिप्पणी , bar
को हटाने के बावजूद यह अभी भी सफल है "यह एक वैश्विक वस्तु की संपत्ति है क्योंकि यह चर डी के माध्यम से बनाई गई है claration और इतने DontDelete attribute है: कठोर मोड ""
>>> foo
2
>>> delete foo
false
>>> var bar = 2;
undefined
>>> delete bar
true
सक्षम करने के लिए यह संभव है "; फायरबग और क्रोम के कंसोल में?
मुझे आश्चर्य है अगर सांत्वना कोड() 'eval के माध्यम से पहुंचाया जा रहा है', DontDelete जो मामले में जिम्मेदार बताते हैं की तरह नहीं होगा सेट किया जाना – AJP
... ठीक है, अगर मैंने अभी पढ़ा था तो अगला खंड: 'और यह फायरबग के असामान्य व्यवहार का सारांश है। कंसोल में सभी पाठों को पार्स किया गया है और उन्हें ग्लोबल या फंक्शन के रूप में नहीं, इवल कोड के रूप में निष्पादित किया जाता है। – AJP
मैंने @ ज़ोरैंक के पहले सुझाव का पालन किया ताकि मैं क्रोम के कंसोल में सख्त मोड देख सकूं। '(फ़ंक्शन एफ() { 'सख्त उपयोग करें'; console.log ('" यह "यहां है:', यह, 'सख्त मोड अच्छा है ...'); }());' ' (फ़ंक्शन f() { console.log ('"यह" यहां है:', यह, 'वैश्विक चर बुराई हैं! तो क्रॉकफ़ोर्ड ने मुझे बताया ...'); }()); ' – slacktracer