Dag*_*bit 10 javascript function global-variables propertydescriptor ecmascript-5
像这样设置属性描述符:
Object.defineProperty(window, 'someFunction', {
value: function() { alert('safe'); },
writable: false,
enumerable: false,
configurable: false
});
Run Code Online (Sandbox Code Playgroud)
......据我所知,应该使不可写的someFunction财产window.它适用于我期望的函数表达式,无论函数是否直接赋值给对象属性... 小提琴
window.someFunction = function() { alert('boom!'); }
someFunction(); // safe
Run Code Online (Sandbox Code Playgroud)
...或分配给全局变量:小提琴
var someFunction = function() { alert('boom!'); }
someFunction(); // safe
Run Code Online (Sandbox Code Playgroud)
但是,它似乎不适用于函数声明:小提琴
function someFunction() { alert('boom!'); }
someFunction(); // boom!
Run Code Online (Sandbox Code Playgroud)
这种行为是故意的吗?它背后的原因是什么?这记录在哪里?或者我只是犯了一些愚蠢的错误?
顺便说一句,我正在使用Chromium 17来测试它.严格模式似乎没有任何区别.
这是一个错误(参见Bug#115452),我在回答这个问题时也遇到了这个问题.
Object.defineProperty,所以它不起作用| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |