Jah*_*l14 0 javascript function
在for循环中:counter <(x.lenght)拼写错误,但函数返回零.当更正为x.length时,函数返回正确的B数,3.1)为什么返回零?2)为什么javascript没有捕获到这个错误?3)对于未来,我可以采取哪些措施来确保捕获这些类型的错误?
function countBs(x){
var lCounter = 0;
for (var counter = 0; counter < (x.lenght); counter++){
if((x.charAt(counter)) == "B"){
lCounter++;
}
}
return lCounter;
}
console.log(countBs("BCBDB"));
Run Code Online (Sandbox Code Playgroud)
访问x.lenght正在返回,undefined导致for循环立即终止.因此lCounter返回初始值.
您可以使用in关键字来检查对象中是否存在属性:
if ( 'lenght' in x ) {
...
Run Code Online (Sandbox Code Playgroud)