Tra*_*tto 4 javascript jquery google-chrome
我想知道是否有任何理由这段代码不起作用......
top = $(this).find('ul').position().top;
Run Code Online (Sandbox Code Playgroud)
它可以在IE,Firefox和Safari中运行,但是当我在Chrome中提示输出时它会显示DOM窗口对象...我需要一个整数.为什么它会警告DOM窗口对象?
T.J*_*der 12
你确定你真的提醒说 top?回想一下,这top是浏览器托管的JavaScript中的预先存在的全局变量(它是window.top顶级窗口).
更新:有趣的是,Chrome不会让你隐式覆盖top(这可能是一件好事):演示.只需要声明的任何函数的代码是在您的变量(反正总是一个好主意)(代码是,这将在功能,对吧?)的影子吧,等,将工作:演示.例如:
var top = $(this).find('ul').position().top;
Run Code Online (Sandbox Code Playgroud)
声明变量非常重要,以避免成为隐含全局恐怖的牺牲品.正如你在这种情况下发现的那样,避免全局变量总是最好的,因为top如果你声明它(再次保护window.top),Chrome甚至不会让你用作全局变量.
| 归档时间: |
|
| 查看次数: |
14977 次 |
| 最近记录: |