Wal*_*osz 0 javascript performance cross-browser
我有什么理由不使用函数引用作为对象的属性/键吗?此代码适用于Chrome,Firefox和IE8,但"只是因为有效的东西......"
var x = {}
var a = function() { return 'a' };
var b = function() { return 'b' };
x[a] = 1
x[b] = 2
x[a] === x[a] // returns true
x[a] === x[b] // returns false
x[b] === x[b] // returns true
x[a] // returns 1
x[b] // returns 2
Run Code Online (Sandbox Code Playgroud)
对象键是字符串.实际使用的x[a]是什么x[a.toString()].
这意味着您的函数作为键与字符串完全相同:
x[a] === x["function () { return 'a' }"]
Run Code Online (Sandbox Code Playgroud)
所以是的,你可能会认为这既不安全又不合理.很难想象一个有用或有效的环境.
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |