通过做POS机的练习有了以下总结。
首先思路与做法:思路一定要清晰,做提前先缕清思路,想好先做什么再做什么,一步一步的想好思路,对整个问题有个清晰地把握。编写代码是也要注意,一边编写一边思考这句代码的意思做到思路清晰。编写完成打印结果时如果出错要逐步打印看看问题到底出在哪里。保证每行代码的上一行都是正确的,都是暑促的自己想要的结果。还要注意命名规则,要准确的命名。让人一目了然,代码也要对齐让人检查时可以看得清楚。
下面是一些知识点:
1:object.key与object[key]的区别;
object[key]可以用于取动态的值,是数组方式获取值,而且当属性含有空格时 必须用object[key],当key是数字时必须使用object[key],object.key则是以对象方式获取值,与object[key]在取值方面是等价的,使用时要注意。
var object ={ name:"张三", age:15, 1:2, student number :123456}; var new_name=name; object.name//可以访问输出:张三 object[name]//可以访问输出:张三 object.new_name//出错 ,因为new_name是变量 object[new_name]//可以访问输出:张三 object.1//出错 object[1]//可以访问输出为:2 object[student number]//可以访问输出123456 ,此时不能用object.student number
2: 判断对象是否含有某个键。
用object.hasOwnProperty( key ) 他有两个返回值 当存在键key时返回true否则返回falsekey也可以是个变量。
var object={ name:zhangsan,age:15,id:15151551251}; console.log(object.hasOwnProperty(name)); //打印结果为true console.log(object.hasOwnProperty(住址)); //打印结果为false,因为没有住址这个键。
key是可以是变量,可以配合for循环使用。省去了自己定义变量再去判断是否与定义的是否相等的不确定性。
3 for in的用法。
for in语句用于对数组活对象的属性进行循环操作,主要用于对象,因为在数组遍历的时候for in是访问对象的原型看原型是否含有属性,会增加循环额外的压力。
用法:
var object={姓名:zhangsan,学号:12356789,性别:男}; for (info in object ){ console.log(info+' '+object[info]); } //输出结果 姓名 zhangsan 学号 12356789 性别 男
for in遍历对象时,定义对象的时最好不要定义数字为对象的键值,因为现在的最新版本浏览器按照谷歌浏览器标准把非负整数键提取出来排好序输出 ,然后其他的按照定义的顺序输出,这样就不会按照属性下标输出了
var object={1:first,3:third,2:second,0:zero} for ( i in object ){ console.log( i+' '+object[i]); } //输出结果 0 zero 1 first 2 second 3 third
所以定义键时要注意。