自動版本化只與「derefencing」未定義的結構有關,因爲在JavaScript中如果指定索引或不存在的屬性不會動態創建它嗎?但是這不是autovivification,因爲你必須聲明底層結構首先是對象還是數組?Autovivification和Javascript
7
A
回答
13
命名空間是自動版本化可能在JavaScript中得心應手的一個領域。目前,以「命名空間」的對象,你必須這樣做:
var foo = { bar: { baz: {} } };
foo.bar.baz.myValue = 1;
是由JavaScript支持自動激活,第一行就沒有必要。在JavaScript中爲對象添加任意屬性的能力是由於它是一種動態語言,但不是很自動化。
1
ES6的Proxy
可用於實現自動激活,
var tree =() => new Proxy({}, { get: (target, name) => name in target ? target[name] : target[name] = tree() });
測試:
var t = tree();
t.bar.baz.myValue = 1;
t.bar.baz.myValue
相關問題
- 1. perl autovivification數組
- 2. 哈希陣列(autovivification ??)
- 3. Go有沒有autovivification?
- 4. PHP是否具有autovivification?
- 5. 在python中,以下AutoVivification類如何工作?
- 6. JavaScript和JAWS - 和SCORM?
- 7. Google Maps JavaScript API和JavaScript
- 8. JavaScript Closure和JavaScript的區別?
- 9. JavaScript .substr()和.slice()
- 10. ePub和Javascript
- 11. OVER_QUERY_LIMIT和Javascript庫
- 12. 用PHP和JavaScript
- 13. WebBrowser,IPersistStreamInit和javascript
- 14. DataTable和javascript
- 15. Javascript push_array和in_array
- 16. 超時和javascript
- 17. LocalStorage,JavaScript和Objects
- 18. javascript,html和indexeddb
- 19. PHP和JAVASCRIPT
- 20. JavaScript createElement和SVG
- 21. PHP和JavaScript POST
- 22. javascript IsNaN和0
- 23. JavaScript和ajax.actionlink
- 24. Javascript和這個?
- 25. UIWebView.hidden和JavaScript
- 26. 刮HTML和JavaScript
- 27. textarea的和javascript
- 28. JSON和JavaScript
- 29. Javascript和XML
- 30. Javascript和href
這是那種上[programmers.se]屬於編程語言的具體問題。 – zzzzBov