我试图传递document.write作为变量的引用:
例:
var f = document.write
//then
f('test');
Run Code Online (Sandbox Code Playgroud)
它适用于警报.为什么不兼容document.write?
Que*_*tin 10
因为alert不关心什么this是(alert是全局的)并且document.write确实(它需要知道它正在写入哪个文档).
如果你想要一个包装器,那么写一个快捷方式的功能.
function f(str) { document.write(str); }
Run Code Online (Sandbox Code Playgroud)
......然后去仪式上自己去打电话给变量f.自我描述是良好代码的优点.
除了已经说过的内容之外,Javascript 1.8.5还有针对该问题的原生解决方案:绑定功能
f = document.write.bind(document)
f("hello")
Run Code Online (Sandbox Code Playgroud)
上面的链接还包含不支持JS 1.8.5的浏览器的仿真代码.
| 归档时间: |
|
| 查看次数: |
2483 次 |
| 最近记录: |