最近,尝试出一个javascript修炼篇,让编程技术更上一层楼。如果你对Javascript有兴趣,或者想要提供自己的编程技术,那么这个系列就很适合你。欢迎关注,持续更新中…
新手:作为人类,犯错实在太常见了,每天可能会有超过50个错误。
进阶者:同样是人类,但我们能够减少错误,每天的错误量控制在50个以内。
高手:我们依然是人类,但几乎能用 JavaScript 来“说话”,每日错误少于5个。
挺有意思的,对吧?从上面的描述就能看出,错误无处不在。那么,高手一般是怎么做的呢?
他们能预判结果,并据此调整,而新手往往是在编码过程中不断尝试和纠错。
如果你对病症了如指掌,自然能对症下药,不必把整个药店都吞下去。
虽然网上可能有现成的谚语,但这句突然浮现在我脑海里,希望你能理解其意。
我不喜欢拐弯抹角,咱们直入主题:
我想分享一些超棒的技巧,帮助大家减少错误,提高编码效率。
技巧1:扎实基础
每次编程时,我们都会把功能分解成尽可能小的部分,然后逐一编码。
编码过程中,我们总免不了要处理那些想展示在浏览器上的数据。
示例:
假设你需要在应用里显示员工名单,并在用户添加新员工时立即更新列表。
// 初始名单
let employeeList = ['james', 'peter', 'roy', 'garreth'];
// 你知道可以用 push 向现有数组添加新员工
employeeList = employeeList.push('new james');
// 但你不确定这样做会怎样
console.log(employeeList);
// 输出 5,因为 push 返回的是数组的新长度,而非更新后的数组
因此,熟练掌握基础对于避免错误至关重要,也能帮你跳出试错循环。
这可以说是编程过程中犯错的主要原因。
技巧2:先学后用
没错,你不会一直用到基础的 JS 方法,因为有时需要依赖特定库(比如针对实时 Web 应用场景编写的封装)。
举例: moment.js
是一个处理日期时间非常出色的 JavaScript 库。
直接引入它,就能做时间转换等操作。
这些库提供了不同方法来应对不同需求,别总去 StackOverflow 上复制粘贴代码。
每个库都有清晰的文档介绍各自特性,多读读文档,试试它们提供的例子,了解优缺点后再动手用。
这不仅能防错,还能避免将来出现 bug。
技巧3:理解执行流程
脚本通常从上到下执行,不过有些情况下流程会有所变动。
异步 JS:
JavaScript 支持异步操作,比如 Promises、setTimeout 和 setInterval,使用它们会改变执行流。
示例:
console.log('第一条消息');
setTimeout(() => {
console.log('异步消息');
}, 0);
console.log('最后一条消息');
// 输出:
// 第一条消息
// 最后一条消息
// 异步消息
运算符优先级: 它决定了运算符之间的解析顺序。
console.log(5 + 10 * 3 - 2); // 33
console.log(5 + 10 * (3 - 2)); // 15
console.log((5 + 10) * 3 - 2); // 43
第一种情况,乘法优先级更高,
5 + 10 * 3 - 2
变为 5 + 30 - 2
再变为 35 - 2
得到 33
。
第二种情况,括号优先级最高,
5 + 10 * (3 - 2)
变为 5 + 10 * 1
再变为 5 + 10
结果为 15
。
第三种情况就很明显了。
所以,执行顺序会影响结果。
虽然优先级规则很多,但不用死记硬背,收藏这个页面就行:MDN运算符优先级文档
记住,调试不是用来应对错误的。
我会在另一篇文章中详述如何高效利用调试,包括何时、何处以及如何使用。
总结一下收获:
- 错误少了,编码效率自然提升。
- 避免错误,就是学习的过程,知识就是力量。
- 当你开始“说”JavaScript,就离顶尖程序员不远了。🤩
以上建议均来自我的经验。欢迎留言分享你最常使用的技巧,或者你自己的心得。
感谢阅读!😊