JavaScript学习应从console.log()开始建立反馈循环,用const/let替代var,严格使用===比较,优先选箭头函数但注意this和arguments限制。

不需要买书、不用装复杂环境,打开浏览器控制台就能写 JavaScript —— 但直接敲 alert("hello") 并不能帮你真正上手。关键在于建立「可验证的反馈循环」:改一行代码 → 看到明确结果 → 理解为什么是这个结果。
从 console.log() 开始,而不是 alert()
alert() 会阻塞页面、无法输出对象结构、不支持多行打印,新手常卡在“点了确定后啥也没看见”。console.log() 才是调试和学习的起点:
- 它能打印字符串、数字、数组、对象,甚至函数本身
- 多次调用会按顺序显示在控制台,便于观察变化过程
- 支持多个参数:
console.log("x =", x, "type:", typeof x) - Chrome/Firefox 控制台中点击展开对象,能直观看到属性和方法
变量声明只用 const 和 let,彻底避开 var
var 的变量提升(hoisting)和函数作用域容易引发隐蔽 bug,比如:
console.log(a); // undefined,不是 ReferenceError var a = 1;
而 const 和 let 更符合直觉:
立即学习“Java免费学习笔记(深入)”;
- 未声明就访问直接报
ReferenceError,错误位置清晰 -
const声明不可重新赋值的绑定(注意:对象内部属性仍可变) -
let允许后续赋值,且有块级作用域:if (true) { let x = 1; } console.log(x); // ReferenceError
用严格相等 === 替代相等 ==
== 会自动类型转换,导致反直觉结果:
"0" == false // true 0 == "" // true null == undefined // true
这些不是“特性”,而是历史包袱。用 === 能避免绝大多数意外:
- 它同时比较值和类型,
"0" === false是false,0 === ""也是false - ESLint 和现代编辑器默认警告
==,直接禁用更省心 - 唯一例外是检查
null或undefined:value == null可简写为value === null || value === undefined,但更常见的是用value ?? "default"
函数定义优先选箭头函数,但注意 this 和 arguments
箭头函数语法简洁、没有自己的 this 和 arguments,适合大多数场景:
const add = (a, b) => a + b; [1, 2, 3].map(x => x * 2);
但以下情况必须用传统函数:
- 需要动态
this(如事件监听器:button.addEventListener("click", function() { this.style.color = "red"; })) - 需要
arguments对象(虽然可用剩余参数...args替代) - 要被
new调用(箭头函数不能作为构造函数)
初学时不必深究原型链,但得知道:写错函数形式,可能让 this 指向 window 或 undefined,而控制台里看不出哪里出问题。











