<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=JSFuck</id>
	<title>JSFuck - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=JSFuck"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=JSFuck&amp;action=history"/>
	<updated>2026-04-12T23:12:01Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=JSFuck&amp;diff=431120&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=JSFuck&amp;diff=431120&amp;oldid=prev"/>
		<updated>2025-08-22T16:37:38Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;JSFuck&amp;#039;&amp;#039;&amp;#039;（抑是為著欲忌剋話 Fuck 寫作&amp;#039;&amp;#039;&amp;#039;JSF \ * ck&amp;#039;&amp;#039;&amp;#039;）是一種深奧的 JavaScript 程式設計風格。用這款風格寫做的代碼中干焦使用 ` [`、`] `、` ( `、` ) `、` ! ` 和 ` + ` 六種字元。現此程式設計風格的名衍生自從使用較少符號寫代碼的 Brainfuck 語言。佮其他深奧的程式語言無仝，以 JSFuck 風格寫出的代碼無需要另外的編譯器抑是直譯器來執行，無論瀏覽器抑是 JavaScript ia̋n-jín 中的原生 JavaScript 直譯器攏會當直接執行。鑑於 JavaScript 是弱型別語言，編寫者會當用數量有限的字元重寫 JavaScript 中的所有功能，而且會當用這種方式執行任何類型的表達式。&lt;br /&gt;
&lt;br /&gt;
==緣起==&lt;br /&gt;
&lt;br /&gt;
長谷川陽介（Yosuke Hasegawa）佇二空空九年七月建立一个叫做「jjencode」的網路應用程式，我會當將一切的 JavaScript 代碼透濫為 ` [ ] ( ) ! + , \ &amp;quot; $ . : ; _ { } ~=` 這十八字元的排列組合。&lt;br /&gt;
&lt;br /&gt;
二空一空年一月，佇一个 Web 應用程式安全徛點上的「透濫」版塊內底，舉行一場非正式的競賽。這場競賽的目標是欲予 JavaScript 程式設計共所需要的上少字元降至八个以下（` [ ] ( ) ! + , / `）， 這帖文的回覆者設法消除了著 ` , ` 和 ` / ` 字元的需求。截至二空一空年三月，網路頂懸有一个名「JS-NoAlnum」線頂編碼器，伊只使用六字元來透濫 JavaScript。&lt;br /&gt;
&lt;br /&gt;
二空一空年底，長谷川陽介製作一个叫做 JSF \ * ck 的新編碼器，伊只使用六字元來混淆 JavaScript。二空一二年，馬丁 ・ 克萊普佇 GitHub 上建立一个編碼器專案「jsfuck」，並建立了 JSFuck . com 網站，𫞼一个使用這編碼器實現的 Web 應用程式。&lt;br /&gt;
&lt;br /&gt;
==用途佮安全性==&lt;br /&gt;
&lt;br /&gt;
JSFuck 會當用佇咧代碼透濫，一个最佳化版 JSFuck 編碼器已經予人用於混淆 jQuery 代碼，使這一流行的 JavaScript 函式庫會當干焦使用六字元來實現原本的所有功能。&lt;br /&gt;
&lt;br /&gt;
此外，JSFuck 會當用著踅過惡意代碼檢測，而且會當予人用佇跨站指令碼攻擊。因為欠原生 JavaScript 應該有的特徵，類似 JSFuck 的 JavaScript 透濫技術會當幫助惡意代碼踅過入去侵防禦系統抑是內容過濾器。現實中，因為乎 JSFuck 中欠字母數字元，而且 eBay 中的內容過濾器捌存在欠缺，共賣的曾經會當佇𪜶的 eBay 拍賣頁面中樞入任意 JSFuck 指令碼。&lt;br /&gt;
&lt;br /&gt;
==編碼方式==&lt;br /&gt;
&lt;br /&gt;
JSFuck 代碼是躼躼長。佇咧 JavaScript 中，` alert ( &amp;quot; Hello World &amp;quot; ) ; ` 這代碼會致使彈窗並顯示「Hello World」字捾，這代碼的長度為二十一字元。咧使用 JSFuck . com 提供的 JSFuck 透濫程式了後，轉換出對應的仝款效果代碼長度是二石四千六百九十一字元。自本節概述此轉換方式的工課原理。&lt;br /&gt;
&lt;br /&gt;
===數字===&lt;br /&gt;
&lt;br /&gt;
數字零使用 ` + [] ` 來構造，其中 ` [] ` 代表空陣列，而且 ` + ` 是一箍加運算子。&lt;br /&gt;
數字一則以 ` + ! ! [] ` 抑是 ` + ! + [] ` 來構造，其中 ` ! ! [] ` 抑是 ` ! + [] ` 代表布林值為真（` true `）， 前輩的一箍加運算子將真值轉換做數字一。&lt;br /&gt;
數字二至九則以將「真」加佮濟改轉換做數值的類似方式來構造。比如講，由 ` true + true ` 這一表達式佇 JavaScript 中輸出結果為二，閣 ` true ` 通好寫作 ` ! ! [] ` 抑是 ` ! + [] `，故二可轉寫作 ` ! ! [] + ! ! [] ` 抑是 ` ! + [] + ! + [] `。&lt;br /&gt;
多位的整數則會當將各數位分別表示，並使用串接運算子 ` + ` 進行字串串接。譬如講字捾 ` &amp;quot; 十 &amp;quot; ` 會當表達為兩个陣列串接的形式（` [一] + [零] `）， 共各數位替換做對應的 JSFuck 表達式了後，即可將這字串表達為 ` [+ ! + [] ] + [+ [] ] `；若欲共字串轉化做數字，會當共前述的表達式括號抑是括號，並且加一个 ` + ` 運算子，所以，數字值十會當佇咧 JSFuck 中表達為 ` + ( [+ ! + [] ] + [+ [] ] ) `。&lt;br /&gt;
&lt;br /&gt;
===字母===&lt;br /&gt;
&lt;br /&gt;
通過使用索引器（即方括號中的數字）的方式，會當存取簡單布林值抑是數值對應字串表示形式（如 ` false `、` true `、` NaN `、` undefined `）中的單字元，而且 JSFuck 會當藉此轉換一部份的字母。此外，轉換另外一部份的字母需要其他的技巧，比如講共字串 ` 一 e 一千 ` 轉換做數字，按呢就會產生無窮大值（` Infinity `）， 而且 ` Infinity ` 中的字元會當用取得字母 ` y `。&lt;br /&gt;
&lt;br /&gt;
===其他構造方法===&lt;br /&gt;
&lt;br /&gt;
佇咧 JavaScript 中，` Function ` 函式這款構造器會當予人用於觸發執行包含佇字串中的 JavaScript 代碼，當如像執行原生 JavaScript 代碼彼號。比如講，語句 ` alert ( 一 ) ` 等價於 ` Function ( &amp;quot; alert ( 一 ) &amp;quot; ) ( ) `。而且 ` Function ` 構造器佇 JavaScript 中是任何常用函式的 ` constructor ` 屬性，此所講的常見函式指出來是像 ` [] [ &amp;quot; filter &amp;quot;] `（即 Array . prototype . filter）類的函式。所以，這个構造器便會當通過存取一个空陣列的 ` filter ` 屬性下的 ` constructor ` 屬性來構造。比如講，` alert ( 一 ) ` 會當予人等價轉換做 ` [] [ &amp;quot; filter &amp;quot;] [&amp;quot; constructor &amp;quot;] ( &amp;quot; alert ( 一 ) &amp;quot; ) ( ) `，並使用 JSFuck 進一步轉換。&lt;br /&gt;
&lt;br /&gt;
==備註==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;對於「編碼方式」章節內底的內容：&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==參考來源==&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* [/ / web . archive . org / web / 二十五空一千八百空七孵空一百空三孵一千四百三十九 / http : / / www . jsfuck . com / 頁面存檔備份，存在網路檔案館）JSFuck-Write any JavaScript with 六 Characters : [] ( ) ! + ]–共原生 JavaScript 轉換做 JSFuck 的 Web 應用程式&lt;br /&gt;
* Yosuke Hasegawa 創作的 JSF \ * ck 線頂應用&lt;br /&gt;
* JSfuck . com 咧用的轉換指令碼&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>