JScrewIt (विभिन्न समाधान: 16117, 14747, और 5903 वर्ण)
जावास्क्रिप्ट इंजन समान नहीं हैं; मामूली कार्यान्वयन अंतर कोड का कारण हो सकता है जो एक ब्राउज़र में काम करता है दूसरे में काम नहीं करता है। JSFuck जैसे लिपोग्राममैटिक कोड के मामले में - जो बहुत हद तक संभव के रूप में चीजों को सांकेतिक शब्दों में बदलना करने के लिए हैक पर निर्भर करता है - असंगतताएं और भी बड़ी हैं।
उदाहरण के लिए, JSFuck द्वारा उत्पन्न कोड alert("Hello World!")
Internet Explorer पर नहीं चलता है। यदि यह एक स्वीकार्य सीमा है, तो हम अभी भी आकार को 16117 22174 वर्णों तक छोड़ सकते हैं (मैं पूरे कोड को सीधे शामिल नहीं कर सकता क्योंकि उत्तर आकार 30000 वर्णों तक सीमित है):
http://jsfiddle.net/ep2jqsj4/1/
एक कोड जो इंटरनेट एक्सप्लोरर पर भी काम करता है, लेकिन कुछ पुराने ब्राउज़रों पर ऐसा नहीं है, 14747 वर्णों को सांकेतिक शब्दों में बदलना है:
http://jsfiddle.net/bbxfqboq/
अंत में, यदि यह कोड ठीक है जो वर्तमान फ़ायरफ़ॉक्स [अद्यतन] और सफारी [अंत अद्यतन] पर चलता है , तो हम इसे 5903 5911 वर्णों के साथ कर सकते हैं :
http://jsfiddle.net/pkyLy0j8/1/
मैंने JScrewIt के साथ उन सभी को एनकोड किया । आप Esolang पर सूचीबद्ध JSFuck के समान अन्य एनकोडर पा सकते हैं: http://esolangs.org/wiki/JSFuck । मैंने उन सभी की कोशिश की और मुझे कहना है कि JScrewIt सबसे अच्छा लगता है (और यह भी केवल एक ही है जो सभी ब्राउज़रों में काम करता है), हालांकि मैंने विश्लेषण नहीं किया कि यह विस्तार से कैसे काम करता है।
एक और दिलचस्प एनकोडर 6chars.js है , जो शॉर्ट इनपुट के लिए बड़ा आउटपुट उत्पन्न करता है alert("Hello World!")
, लेकिन जब इनपुट लंबा हो जाता है तो यह अन्य एन्कोडर की तुलना में बेहतर प्रदर्शन करता है क्योंकि यह वर्णों को संख्याओं के रूप में एन्कोड करता है। संख्याएँ JSFuck में लिखने के लिए छोटी हैं लेकिन डिकोड करने के लिए अतिरिक्त ओवरहेड की आवश्यकता होती है। दुर्भाग्य से, 6chars.js केवल क्रोम में काम करता है और मैं नहीं कह सकता कि क्या यह अभी भी सक्रिय रूप से विकसित हो रहा है।
यह जानना दिलचस्प होगा कि क्या ऐसे एन्कोडर अधिक हैं। यदि कोई एक उपकरण में अलग-अलग एन्कोडर द्वारा उपयोग किए जाने वाले तरीकों में शामिल हो सकता है, तो इससे भी छोटे समाधान तैयार करना संभव होगा।
$
और=
साथ ही, कृपया? अन्यथा मुझे नहीं लगता कि हम जनरेटर को सर्वश्रेष्ठ कर सकते हैं।