#DayOne前端每日读书

2017-10-18  本文已影响0人  Katherine的小世界

为了不忘初心,太多人和我说,原生js没有用,只要能够快速上手项目就可以了。而又有另外一个声音在告诉我,不知道原理基础,怎么去知道那些框架的真正目的和原理呢?对于一个学了大半年没有实习过没有大型项目经历的我来说,没有什么发言权,我还是坚持每天积累,看书,总有一天会有用的。

《高级程序设计》----24章节 最佳实践

image.png

一 可维护性

怎么说,代码最后如果越来越多,就是给大家看的代码的,所以一定要做好一些前期的规范工作,才能有利于后续的实践与操作。

那么就应该做一些代码的约定。
kimmy也经常说,在实际的项目中代码约定很重要。为了避免以后别人看不懂我的代码,现在还是要强制改好自己的习惯。

var found = false
var count = 0
var name = ''

但是,这样别人也不能轻易知道是什么数据类型,所以我会选择这样的方式,就是结合上面的还有匈牙利标记法

var bfound = false
var icount = 0
var sname = ''
var Ocar = {}

当然,文中还提到一种注释法,但是注释法会影响多行注释,所以不建议。

二松散耦合

element.className = 'red'

这样就有一个好处了,一旦调试出问题,我们也可以直接通过类来找到。再者,如果后期这个样式要修改,我们也可以通过直接找到相应的类名,在类内部去修改。不至于再去js代码内部修改。

function handleKetPress(event){
  event = EventUtil.getevent(event)
  if (event.keyCode == 13) {
   var target = EventUtil.getTarget(event)
   var value = 5 * parseInt(target.value)
  if (value > 10) {
  document.getElementById('message').style.display = 'block'
 }
 }
 }

转换后的代码,将事件处理和逻辑应用分开处理。

function validatValue(value) {
var value = 5 * parseInt(tvalue)
if (value > 10) {
document.getElementById('message').style.display = 'block'
}
}


function handleKetPress(event){
  event = EventUtil.getevent(event)
  if (event.keyCode == 13) {
   var target = EventUtil.getTarget(event)
   validatValue(target.value)
}
}

三 编程实践

var constance = {
  url : /huhuhu.php/,
  msg: 'invalid Value'
}
value instanceof Array   // 判断是不是数组

基本类型:使用typeof检查其类型

typeof value// 判断是什么类型的 string .Array .Object

如果是希望对象包含某个特定的方法。使用typeof操作确保制定名字的方法存在于对象上。

上一篇 下一篇

猜你喜欢

热点阅读