# 全域函式

RenderJS 掛在 `window` 上的函式：listener 啟用、檔案讀取、cookie 與 `document.body` 捷徑。

## window

原始碼：`src/prototype/window.ts`

| 方法 | 說明 |
| --- | --- |
| `_Listener(target?)` | 無參數時同時啟用 lazyload 與 SVG 兩個 observer。有參數時，`target.svg` 決定是否啟用 lazyload observer，`target.lazyload` 決定是否啟用 SVG observer（observer 內部實作見 [Listener 系統](/zh/listener-system)）|
| `$file(file)` | 以 `FileReader.readAsDataURL` 包裝 `File`／`Blob`，於 `load` 事件時 resolve |
| `$cookie(key)` | 讀取並 URI 解碼 cookie；若值看起來像 JSON 會自動 `JSON.parse` |
| `_cookie(key, body, expire = 3600)` | 寫入 cookie（`expire` 單位為秒）；物件會先 `JSON.stringify` |
| `$(selector)` | 模組層級的 `"selector".$` 捷徑 |
| `$all(selector)` | 模組層級的 `"selector".$all` 捷徑 |
| `_child(value, before)` / `__child(value)` | 新增至／取代 `document.body` 的子節點 |
