我是前端萌新。下面这段代码打开网页后会一直刷新:
<!DOCTYPE html><html> <head> </head> <body> <script> var location = window.location; </script> </body></html>
如果把 var location = window.location;
注释了就不会一直刷新网页了。
到底是什么问题?
因为最顶层的 var 变量会隐式挂到 globalThis 上(对于浏览器来说就是 window
)。
所以你这段代码就等效于 window.location = xxx
后面的 xxx 其实不重要,总之你就是给 location 重新赋值了,自然触发浏览器去载入新的 location 了。而你这个新的 location 跟旧的指向的还是同一个,所以就一直在刷新当前页面。
所以要么你换成 let/const 去声明,这样就不会被挂到 globalThis 上:
const location = window.location;
要么你用个 IIFE 给它包起来,别直接在最顶层声明:
;(function () { var location = window.location;})();
当然了,更稳妥的方式其实是不要用浏览器本身内置的 BOM 全局对象去充当变量名……
印象中发布lib包的时候,登录npm是命令行的 但是今天登录,给我打开了网站 是我记错了,还是它改版了?
使用window.open打开同源新tab,新页面localstorage中token丢失。
为什么这3行代码一运行网页就会崩溃 完整html
很多网站都像下面一样,滚动到了网页的内容才显示出来,这用到的是什么技术?好久前做过,现在忘记了。 https://www.barkenshardchrome.com/
问题内容: 在我的本地路由http:// localhost:9000 /#/ deviceDetail /中, 我有一个控制器来管理该视图。在进入该视图之前,我将一些变量设置为( 例如)。 一旦进入该视图,我就可以访问仪表盘属性,但是例如当我用键刷新页面时,该属性仪表盘就会丢失。 我试图将localSave变量保存,但是该方法遇到了循环引用问题。 有什么技巧可以解决吗? 问题答案: Angula
我在前台还是个新人。我有一个html页面,我需要分析做我的项目,我不忍心。是Bootstrap吗?}中的那些标记是什么?我在哪里能了解到它?对不起我的英语。谢谢。