那些年,我们错过的JavaScript知识点(二) 博客分类: JavaScript基础
学习的过程中错误在所难免,在这里笔者就以自身学习经历为例,总结一下JavaScript中常见的错误吧:
1.变量未声明(未定义)
item_barcode = get_normal_barcode(inputs,item_info); item_detail=get_item_info(item_barcode,item_info);
JavaScript作为一种弱类型语言,对代码的要求算是宽松的,在上面的代码中,如果函数get_normal_barcode( )和item_detail( )已经声明一般情况下,这样写你的编辑器也不会报错,这时的item_barcode和item_detail是全局变量;这种情况应尽量避免,因为在强类型语言的环境中,这就是错误,另外,如果你用的是高级文本编辑器,上述变量的颜色应该也会显示和声明过的变量名颜色有所不同
var numbers = [1,2,3,4,5,6,7]; for(var i=0; i<number.length; i++){ if(i%2==0){ console.log(i) } }//number is not defined
在这里由于在for循环中少写了numbers中字符's'导致出现了未定义的错误,另外修改变量名称的时候也很有可能由于这个变量被多次使用没有全部改为统一的新变量名,而导致变量未定义的错误。
2.区分大小写
inputs.forEach(function(e){ if(all_items_barcode.indexOf(e)==-1){ barcode_and_count = e.split('-'); } })
在上面的forEach()循环中笔者就因为把forEach错写成foreach,就是因为一个字母的大小写浪费了笔者超过两个小时的时间来寻找错误,这种错误往往令人好气又好笑,但我们一定要注意这个问题,其实仔细想一下,这种错误大多出现在函数名,方法名,变量名等一些关键字中,在这些地方书写时注意一下,会在很大程度上减少这种错误。
3.不匹配的引号" ",大括号{ },圆括号( )和方括号[ ]
这类问题也很常见,通常在变量名套用比较复杂时容易出现,还有复制那些多次用到的变量时,因此我们要避免变量名套用层数太多、变量名太长的问题。比如:
var count =counts[barcodes[item_barcodes.length].number]
这样的多层嵌套很容易把人搞晕,而且出现括号不匹配的问题。
除此之外,还有一些问题诸如:“=“是赋值而不是等于,for循环中";"分号写成","问题,这些问题都需要我们平常多多注意。