前两天由于自己写的系统中,经常用toString().trim() ,出现了很多的bug.在前辈的建议是不要经常使用toString().trim()方法转换字符串,可能出现的问题是当前对象是undefined ,所以会报错:undefined has no method toString() .
例如: charInfo.level.toString().trim,如果charInfo.level 没有的话,就会报上面的错误。
所以建议使用 charInfo.level + '' 这样即使charInfo.level不存在,也是一个空的字符串。
还有一个问题是数组处理数据。concat() 方法。
举例说明吧:charInfo.bag 是角色的背包里的数据,在角色获取到多件新的道具的时候,要将这件新的道具放到角色背包缓存中.
var newEquip = [{id:1},{id:2},{id:3},,,,,]
charInfo.bag.concat( newEquip );
如果charInfo.bag 不存在的话,就会报错:charInfo.bag is undefined.
所以 需要判断一下charInfo.bag
if( !charInfo.bag ){
charInfo.bag = [];
}
charInfo.bag.concat( newEquip );
虽然不是什么大问题,但是也是很容易出错的地方,记下来吧。
这周每天加班到晚上10点,昨天又加了个通宵,真有点吃不消了,早点睡觉。
待续。。。。