Javascript 变量使用前的验证
您应该多久验证或清理一次JavaScript中的变量?我偶尔会遇到我编写的代码,并且发现Javascript 变量使用前的验证,javascript,html,dom,Javascript,Html,Dom,您应该多久验证或清理一次JavaScript中的变量?我偶尔会遇到我编写的代码,并且发现无法访问未定义的属性X或类似错误。因此,如果我使用的变量可能包含一个DOM对象,我会像下面这样进行清理 我的问题是,我应该多久验证一次可能存在的变量? 这是我在本周早些时候做的一件事的样本。它的目的是根据标题的文本值更改标题背景的背景颜色。请注意,\uuu spreadsarray是ES6排列的垫片 我现在做的是不好的练习吗 var rowColours = { "The Roadmap": "#5e
无法访问未定义的属性X或类似错误。因此,如果我使用的变量可能包含一个DOM对象,我会像下面这样进行清理
我的问题是,我应该多久验证一次可能存在的变量?
这是我在本周早些时候做的一件事的样本。它的目的是根据标题的文本值更改标题背景的背景颜色。请注意,\uuu spreadsarray
是ES6排列的垫片
我现在做的是不好的练习吗
var rowColours = {
"The Roadmap": "#5e4c79",
// ...
"Employee Engagement": "#00275e",
"Stakeholder Engagement": "#00275e"
};
var sections = __spreadArrays(document.querySelectorAll(".ms-webpartPage-root .ms-webpartzone-cell"));
sections.forEach(function (o) {
var titleBar = o.querySelector(".ms-webpart-chrome-title");
if (!(titleBar instanceof HTMLElement))
return;
var titleText = titleBar ? titleBar.innerText.trim() : "";
if (!rowColours[titleText])
return;
var header = o.querySelector(".ms-webpart-chrome-title > [title]");
if (!(header instanceof HTMLElement))
return;
header.style.background = "linear-gradient(to right, " + rowColours[titleText] + " 50%, white 98%)";
});
始终如此,但您可以从其他工具中获得一些优势
没有完美的解决方案,但您应该考虑使用<代码> Typescript <代码>,以帮助您在开发/构建时获得这样的用例,并创建一些测试来保证您的合同是最新的。
作为替代方案,您可以使用以下内容:
var header=o.querySelector(“.ms Web部件chrome title>[title]”);
var newValue=“线性渐变(向右,“+rowcolors[titleText]+”50%,白色98%)”;
HtmleElement的头实例(&header.style.background=newValue)
我希望您会觉得这很有用。始终如此,但您可以从其他工具中获得一些优势
没有完美的解决方案,但您应该考虑使用<代码> Typescript <代码>,以帮助您在开发/构建时获得这样的用例,并创建一些测试来保证您的合同是最新的。
作为替代方案,您可以使用以下内容:
var header=o.querySelector(“.ms Web部件chrome title>[title]”);
var newValue=“线性渐变(向右,“+rowcolors[titleText]+”50%,白色98%)”;
HtmleElement的头实例(&header.style.background=newValue)
我希望你觉得这有用。谢谢你的提示。我通常使用TypeScript,但我觉得我没有用到它的最大容量。谢谢你的提示。我通常使用TypeScript,但我觉得我没有充分利用它。