为了账号安全,请及时绑定邮箱和手机立即绑定

关于JS 新人自学有两个小细节的问题

关于JS 新人自学有两个小细节的问题

守着一只汪 2019-02-27 17:19:23
1.书本例题,对一个数组遍历,输出数组里的所有值。答案是这样的:if (image.length>0){    for (var x=0; x<image.length; x++){      //code    }}而我没有写判断语句直接做的循环,因为我想如果image长度是0自然会跳过循环:for (var x=0; x<image.length; x++){  //code}输出结果是一样的。但是这样做可以么?以后会不会造成什么错误?2.书本例题,对英文名字重新排版,名字首写字母大写,姓全部大写。名字被split的成数组。名字的处理上答案是这样的:name[0] = name[0],slice(0,1).toUpperCase()+name[0].slice(1).toLowerCase();我写的答案是这样的:name[0] = name[0][0].toUpperCase()+name[0].slice(1).toLowerCase();两个得到的结果是一样的。但是这样做可以么?以后会不会造成什么错误?谢谢您花费时间回答我的问题。谢谢
查看完整描述

2 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

第一个 你写的只是多出来一个x=0的变量
第二个 如果是空字符串会报错,通过下标获取的方法在低版本ie不兼容也会报错

查看完整回答
反对 回复 2019-03-06
?
噜噜哒

TA贡献1784条经验 获得超7个赞

第一题
if判断类型是否有length属性 并且不为空! 然后再决定是否去循环数组 避免不必要的代码执行
而你写法也可以 只不过少了一层判断 它直接去循环 如果有值就循环 无值就跳出 而且多了var x变量缓存 意义不同

第二题 
你是通过字符串的索引去改变首字母的大写 写法没问题
例题是通过slice截取字符去操作首字母大写 结果相同 方法不同 没什么问题

不会造成错误


查看完整回答
反对 回复 2019-03-06
  • 2 回答
  • 0 关注
  • 467 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号