我遇到了一个javascript难题:写一个单行的JavaScript代码,它连接传递给函数的所有字符串:
function concatenate(/*any number of strings*/) {
var string = /*your one line here*/
return string;
}
@ Meebo的
看到函数参数表示为索引对象可能是一个数组,我认为可以以递归方式完成.但是我的递归实现会抛出错误. - "conc.arguments.shift不是函数" -
function conc(){
if (conc.arguments.length === 0)
return "";
else
return conc.arguments.shift() + conc(conc.arguments);
}
似乎conc.arguments不是一个数组,但可以通过数字索引访问并具有长度属性??? 令人困惑 - 请分享意见和其他递归实施.
谢谢
我有一个for循环,在其中我检查当前迭代的元素是否有任何a标签或form标签内部,如果是,我做了一些东西给他们.无论如何,我可以检查或者像这样:
var form_or_a_tag = elem[i].getElementsByTagName('a');
var form_or_a_tag = elem[i].getElementsByTagName('form');
Run Code Online (Sandbox Code Playgroud)
但我怎样才能将它们结合起来?
这些都失败了:
var form_or_a_tag = elem[i].getElementsByTagName('a form');
var form_or_a_tag = elem[i].getElementsByTagName('a, form');
var form_or_a_tag = elem[i].getElementsByTagName('a') || elem[i].getElementsByTagName('form');
Run Code Online (Sandbox Code Playgroud)
基本上我想存储在变量form_or_a_tagall form或a标签中,这些标签位于当前正在迭代的元素中.
使用普通的'ol vanilla javascript选择类名时遇到一些麻烦:
var email = document.getElementsByClassName('email');
var phone = document.getElementsByClassName('phone');
// Hide phone by default
phone.style.display = "none";
function showContact() {
var dropdown = document.getElementById( "contact-select" ); // Get a reference to the dropdown (select) element
var selectedItemValue = dropdown.options[ dropdown.selectedIndex ].value; // use the dropdown reference to get the selected item's value
if ( selectedItemValue === "phone" ) {
email.style.display = "none";
phone.style.display = "block";
} else {
phone.style.display = "none";
email.style.display = "block";
}
}
Run Code Online (Sandbox Code Playgroud)
每次我尝试调用其中一个变量时,都会一直收到一个未定义的错误.任何帮助将不胜感激.谢谢!