正规军

一 使用js——可以用atom写代码,使用浏览器运行

项目文件(文件分别保存,才能运行)

1,需要一个html,创建一个空白html,外部引入js

2,my.js ——保存所有的源代码,(import js)

3,test.js——所以的测试函数,

4,_ _ main() 调用所需要的函数,

5,调用 _ _ main(),保留函数统一的接口

***排查错误的时候,就可以一层一层的排查

二 如何写代码

1,根据需求,确定需要的结果()

例如:fe课5作业,把 n 的位数变成 width 这么长,并在右对齐,不足部分用 0 补足并返回

1)确定我们定义新的字符串,返回新的字符串

var zfill = function(n, width) {
  var str = ""

  return str
}

2)一步一步,按逻辑实现代码,确定正确,如果测试错误就log()确定问题点

var zfill = function(n, width) {
  var str = String(n)
  var len = str.length
  if (len >= width) {
    log(str)
    return str
  }
  else {
    var numzero = width - len
    var zeros = ''
    for(var i = 0; i < numzero; i++) {
      zeros = zeros + '0'
    }
    str = zeros + str
    log(str)
    return str
  }
}

3)优化代码,边改边测

第一次

var zfill = function(n, width) {
  var str = String(n)
  var len = str.length
  if (len < width) {
    var numzero = width - len
    var zeros = ''
    for(var i = 0; i < numzero; i++) {
      zeros = zeros + '0'
    }
    str = zeros + str
    //log(str)
  }
  return str
}

第二次

var zfill = function(n, width) {
  var str = String(n)
  var len = str.length
  var numzero = width - len
  var zeros = ''
  if (numzero > 0) {
    for(var i = 0; i < numzero; i++) {
      zeros = zeros + '0'
    }
  }
  str = zeros + str
  return str
}

下一题,发现有重复代码,可以提出来封装,

var nchar = function(num, fillchar) {
  var zeros = ''
  for(var i = 0; i < num; i++) {
    zeros = zeros + fillchar
  }
  //log("nchar", zeros)
  return zeros
}

var rjust = function(s, width, fillchar=' ') {
  var str = String(s)
  var len = str.length
  var numzero = width - len
  var zeros = ''
  if (numzero > 0) {
    zeros = nchar(numzero, fillchar)
  }
  str =  zeros + str
  //log('rjust', str)
  return str
}

对于封装的代码,一定要单独测试,以确定正确,

var test_nchar = function() {
  ensure(nchar(5, "0") === "00000", 'nchar 测试 1')
  ensure(nchar(2, "*") === "**", 'nchar 测试 2')
  ensure(nchar(3, "1") === "111", 'nchar 测试 3')
  ensure(nchar(3, " ") === "   ", 'nchar 测试 3')
  log("test nchar finished")
}

对于已经封装的代码,可能测试成功,

但是,在调用这个代码,还是出错的时候,就需要检查,封装好的代码,是否符合调用代码的所有情况,

如果不能,就需要继续优化封装好的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值