Javascript ING银行3个问题测试面试
我参加了一次测试面试,有三个问题我不知道答案: 编写一个函数,在字符之间插入下划线:这将成为t_h_i_s 编写一个将输出以下内容的函数: 我不是 l't'='l3t' l't'='l33t' l'g'=“l33g”Javascript ING银行3个问题测试面试,javascript,Javascript,我参加了一次测试面试,有三个问题我不知道答案: 编写一个函数,在字符之间插入下划线:这将成为t_h_i_s 编写一个将输出以下内容的函数: 我不是 l't'='l3t' l't'='l33t' l'g'=“l33g” l't'=='L3333T'如果字母未定义,则此函数仅返回迭代器函数,当字母被定义时,它将重复字符“3”n次 另外两个应该很容易理解 功能计数器{ 让计数=0 功能集成电路{ 如果字母类型==='未定义'{ 计数++ 返回式iter }否则{ 返回“l”+“3”。重复计数+字母
l't'=='L3333T'如果字母未定义,则此函数仅返回迭代器函数,当字母被定义时,它将重复字符“3”n次 另外两个应该很容易理解 功能计数器{ 让计数=0 功能集成电路{ 如果字母类型==='未定义'{ 计数++ 返回式iter }否则{ 返回“l”+“3”。重复计数+字母 } } 返回iterletter } 控制台。logl't'='lt' 控制台。logl't'='l3t' 控制台。logl't'='l33t' 控制台。logl'g'='l33g' 控制台。logl't'=='L3333T' 编写一个函数,在字符之间插入下划线:这将成为t_h_i_s。 您希望编写一个函数,该函数迭代字符串中的所有字符,并在所有字符之间添加下划线 例如:
function underscoreString(str) {
var result = str.charAt(0);
for (var i=1; i<str.length; i++) {
result += '_' + str.charAt(i);
}
return result;
}
console.log( underscoreString('this') );
为什么输出是正确的?
函数foo中的条形图未引用全局变量条形图。相反,它引用的是函数栏{}。这是因为,如评论中所述
因此,函数根本不涉及全局bar变量,它始终保持为真。它实际上取决于预期的代码级别。如果您需要演示对算法的理解或如何使用javascript构造的知识 例如,第一个可以简单到:
function insertUnderscore(x){
return x.split('').join('_');
}
第二个问题递归方法:
function l( end ){
var acc = '';
function iter( eChar ){
if( typeof eChar === "undefined"){
acc=acc+'3';
return iter;
}
return 'l'+acc+eChar;
}
if(typeof end === "undefined"){
acc = acc + '3';
return iter;
}
return iter(end);
}
第三个问题:
函数bar{}实际上在本地范围内声明'bar',因此赋值bar=false作用于本地'bar'。问题1
对字符串的开头使用负前瞻,对字符使用正前瞻。用下划线替换给定的空字符串
功能垫片{
返回s.replace/?!^.?=/g';
}
控制台.日志间隔器'this';你的家庭作业需要问3个不同的问题。三,。都是琐碎的,你有没有尝试过研究什么?我在谷歌上搜索过,相信我,我没有找到任何可以解决这些问题的方法。这对你们来说很简单,为什么不把答案写出来,而不是写其他东西呢。我知道我是一个初学者,我在这里问的是答案,不是因为我说我是初学者。我想你把问题2和3混合在一起了?我想还值得一提的是,由于函数的提升,声明被移到了函数foo的开头,我在答案中添加了一个声明,谢谢@Maggie谢谢@Nina Scholz的解释。At 1必须是一个函数,而不是其他函数。其他人教我怎么做。
function insertUnderscore(x){
return x.split('').join('_');
}
function l( end ){
var acc = '';
function iter( eChar ){
if( typeof eChar === "undefined"){
acc=acc+'3';
return iter;
}
return 'l'+acc+eChar;
}
if(typeof end === "undefined"){
acc = acc + '3';
return iter;
}
return iter(end);
}