Javascript 声明变量时使用try-catch
出于这样或那样的原因(我不想在这里解释原因),我需要使用javascript获取12个隐藏输入字段的值,并为每个值设置一个变量 我不知道最好的办法是什么。我希望能够获得值,如果没有创建值,即输入字段不存在,则我希望生成一个错误 使用try/catch是否有好处,或者我应该简单地使用typeof检查变量是否已创建 把它们也放在一个数组中,这样我就可以循环检查它们的存在了,这是个好主意吗 谢谢 实施示例: 代码:Javascript 声明变量时使用try-catch,javascript,variables,try-catch,Javascript,Variables,Try Catch,出于这样或那样的原因(我不想在这里解释原因),我需要使用javascript获取12个隐藏输入字段的值,并为每个值设置一个变量 我不知道最好的办法是什么。我希望能够获得值,如果没有创建值,即输入字段不存在,则我希望生成一个错误 使用try/catch是否有好处,或者我应该简单地使用typeof检查变量是否已创建 把它们也放在一个数组中,这样我就可以循环检查它们的存在了,这是个好主意吗 谢谢 实施示例: 代码: 函数getValueArray(idArray){ var VALARY=[]; 对
函数getValueArray(idArray){
var VALARY=[];
对于(var i=0;i这是一种简单的方法。try-catch相当繁重。此外,您会将错误扔到哪里?不要在错误时释放错误流,而是将错误收集到一个结构良好的响应中。这样,如果您的第一个错误丢失,但另一个X没有,那么您仍然可以完成一些工作
if ( typeof( something ) !== "undefined" ) { doStuff(); }
否则,我需要更多信息来帮助您回答您的问题。这里有一个简单的函数,可以检查页面上是否包含12个输入元素。如果需要检查单个输入元素是否存在,请提供更多信息
function SaveInputValues() {
var inps = document.getElementsByTagName('input');
if (inps.length !== 12) {
return alert("There must be exactly 12 input elements. You have included " + inps.length + ".");
}
var vals = [];
for (i = 0; i < inps.length; i++) vals.push(inps[i].value);
inps = null; // provides closure
}
函数SaveInputValues(){
var inps=document.getElementsByTagName('input');
如果(输入长度!==12){
返回警报(“必须正好有12个输入元素。您已包含“+inps.length+”);
}
var VAL=[];
对于(i=0;i
向我们展示一些代码,这样我们就可以从那里开始。在我看来,所有这些都是多余的。如果你想在不存在错误时抛出错误,为什么还要检查呢?让错误发生在使用它们的位置/时间。或者如果你想立即抛出错误,你可以使用If(!x)抛出新错误(…)谢谢,我现在没有任何代码,我只想讨论最好的方法。获取值并将它们放入数组中循环检查每一个值不是更好吗?如果一个值不存在,它会抛出一个错误?知道你接受了另一个答案。只是想向你展示如何实现这种方法…谢谢,我很感激你的imt on the this ship我只能勾选一个Hanks Chris,我需要设置它,以便如果缺少任何变量,则输出一个错误,即在屏幕上显示一些文本,说有错误谢谢,这是一种我没有想到的不同方法。页面上会有其他输入,但这些将被包装在一个div中,以便我可以使用它o引用它们。
if ( typeof( something ) !== "undefined" ) { doStuff(); }
function SaveInputValues() {
var inps = document.getElementsByTagName('input');
if (inps.length !== 12) {
return alert("There must be exactly 12 input elements. You have included " + inps.length + ".");
}
var vals = [];
for (i = 0; i < inps.length; i++) vals.push(inps[i].value);
inps = null; // provides closure
}