把 JS 想成网页的"服务员":HTML 摆桌椅、CSS 做装修,JS 负责你一点就上菜。它是解释型、动态、弱类型、基于原型的语言,先点按钮看看它的本事。
这段文字会被 DOM 改掉
你去饭店吃饭:HTML 是桌椅板凳和菜单(把东西摆出来),CSS 是装修和灯光(让它好看),JavaScript 就是服务员——你点一下(点按钮),他就去改菜、上菜、跟后厨沟通。没有服务员,这桌饭只能看不能吃。
专业说法是:JS 是一门解释型、动态类型、弱类型、基于原型的语言。别怕,逐个翻成人话:
| 术语 | 人话 | 生活类比 |
|---|---|---|
| 解释型(脚本) | 浏览器一行一行读、读到哪执行到哪,不用先打包成 exe | 同声传译:说一句翻一句 |
| 动态类型 | 一个变量(小箱子)今天装数字、明天能装文字,不挑 | 同一个纸箱子今天装苹果明天装书 |
| 弱类型 | 浏览器会偷偷帮你把类型变一变再算,比如把 "5" 自动当数字 5 | 超市不问你,直接把零钱凑成整 |
| 基于原型 | 它的"继承"靠原型对象实现(后面才学,先记这个词) | 现在知道有这回事就行 |
// 动态类型:同一个小箱子 x,先装数字,再装文字,不报错 let x = 10; // 现在 x 里是数字 10 console.log(typeof x); // typeof 就是"问它是什么类型",这里答 number x = "hello"; // 现在往同一个 x 里塞文字,完全允许 console.log(typeof x); // 这回答 string(字符串)
简单、安全、动态、跨平台。每个词背后都有道理:
| 特点 | 人话解释 |
|---|---|
| 简单 | 语法不挑类型,新手容易上手 |
| 安全 | 浏览器把 JS 关在"玻璃房"里跑,不让它随便翻你硬盘,防恶意脚本搞破坏 |
| 动态(事件驱动) | 你点一下、打个字,它立刻响应,不用一直去问服务器 |
| 跨平台 | 只要有浏览器就能跑,Windows、苹果手机都一样 |
你写的 JS 在浏览器里干活,其实是三部分拼出来的,把它想成一个人:
浏览器端 JavaScript = ECMAScript + DOM + BOM 1. ECMAScript(简称 ES):相当于"语法规则" 就是变量、加减乘除、if 判断、循环这些最基本的写法。 跟浏览器长什么样没关系,在哪儿写都一样。 2. DOM:相当于"一双手" 专门用来动网页——改文字、改颜色、点按钮变图。 点上面"点我改页面文字"按钮,用的就是它。 3. BOM:相当于"遥控器" 控制浏览器本身——弹窗、跳页、查浏览器信息、定时器。 点"点我弹窗"按钮,用的就是它。
学习路线别搞反:如果你一上来就学 DOM/BOM 却看不懂 if 和变量,就会像没学走路就想跑。所以本系列先把 ES 语法(地基)砸实,再用 DOM 改页面、用 BOM 控浏览器,一步一步来。
① 可能在什么地方用:网页点按钮弹出提示;登录后表单校验通过再跳转;商品轮播图自动一张张切换。
② 常见的问题:把 JS 写在 head 里,网页还没加载完就去找页面元素,结果拿到 null 报错。
③ 解决思路:把 script 放到 body 最底部;操作元素前先 console.log 打印一下,看看到底拿到没有。