Javascript 将with语句转换为可切换的if
我正在尝试制作一个bookmarklet,可以用来快速切换元素的Javascript 将with语句转换为可切换的if,javascript,if-statement,bookmarklet,Javascript,If Statement,Bookmarklet,我正在尝试制作一个bookmarklet,可以用来快速切换元素的类/id。我发现这个[旧]代码用于切换突出显示链接。我已经读到,除非您使用的是use strict,否则应该避免使用with语句。我找不到任何有关使用的与的外观的演练,也不确定它的外观 javascript:for(nIx5Bs=0;nIx5Bs
类
/id
。我发现这个[旧]代码用于切换突出显示链接。我已经读到,除非您使用的是use strict,否则应该避免使用with
语句代码>。我找不到任何有关使用
的与
的外观的演练,也不确定它的外观
javascript:for(nIx5Bs=0;nIx5Bs }
with试图在块作用域之前阻止变量的作用域:),它与循环无关
意思是在这个代码块中从文档开始。所有[nIx5Bs].style
和引用的任何变量(backgroundColor
)都附加到该点。
更现代的代码将使用let
和const
来阻止作用域
for (let i = 0, max = document.all.length; i < max; i++) {
let doc = document.all[i];
if (doc.tagName === 'a') {
let style = doc.style;
if (style.backgroundColor !== 'yellow') {
style.backgroundColor = 'yellow';
continue;
}
style.backgroundColor = document.bgColor;
}
}
for(设i=0,max=document.all.length;i
仅供参考,void(…)
部分内容毫无意义。只要去掉空白(
和)
,它们就没有任何作用了。我知道那部分。这不是你说的我的代码,但你似乎对JS也很陌生,所以…我不是新手,我承认我没有其他开发人员那么快地使用它-我已经5年没有认真地编写代码了