← 返回目录

1. 什么是 JavaScript

JS 就是让网页"活起来"的语言。HTML 摆结构、CSS 做样式,JS 负责交互——一点按钮就反应、输入就校验、滚动就动。

本页三个重点:
JS 能做什么——操作页面、处理数据、发请求
JS 在哪跑——浏览器里跑,不需要装环境
JS 怎么学——先看后练,每个知识点都有演示

坑:把 JS 和 Java 搞混(完全两种语言)、以为要装软件才能跑

1.1 互动演示

点按钮,看原理逐个亮。

这段文字会被 DOM 改掉

1.2 知识点逐条讲解(配合代码)

① 什么是 JavaScript?先用一个饭店比喻

你去饭店吃饭:HTML 是桌椅板凳和菜单(把东西摆出来),CSS 是装修和灯光(让它好看),JavaScript 就是服务员——你点一下(点按钮),他就去改菜、上菜、跟后厨沟通。没有服务员,这桌饭只能看不能吃。

专业说法是:JS 是一门解释型、动态类型、弱类型、基于原型的语言。别怕,逐个翻成人话:

术语人话生活类比
解释型(脚本)浏览器一行一行读、读到哪执行到哪,不用先打包成 exe同声传译:说一句翻一句
动态类型一个变量(小箱子)今天装数字、明天能装文字,不挑同一个纸箱子今天装苹果明天装书
弱类型浏览器会偷偷帮你把类型变一变再算,比如把 "5" 自动当数字 5超市不问你,直接把零钱凑成整
基于原型它的"继承"靠原型对象实现(后面才学,先记这个词)现在知道有这回事就行
// 动态类型:同一个小箱子 x,先装数字,再装文字,不报错
// 现在 x 里是数字 10
let x = 10;
// typeof 就是"问它是什么类型",这里答 number
console.log(typeof x);

// 现在往同一个 x 里塞文字,完全允许
x = "hello";
// 这回答 string(字符串)
console.log(typeof x);

② JS 的四大特点(记住四个词)

简单、安全、动态、跨平台。每个词背后都有道理:

特点人话解释
简单语法不挑类型,新手容易上手
安全浏览器把 JS 关在"玻璃房"里跑,不让它随便翻你硬盘,防恶意脚本搞破坏
动态(事件驱动)你点一下、打个字,它立刻响应,不用一直去问服务器
跨平台只要有浏览器就能跑,Windows、苹果手机都一样

③ 浏览器里的 JS = 三块拼起来

你写的 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 打印一下,看看到底拿到没有。

一句话记住:JS 是让网页活起来的服务员;它解释型、动态、弱类型;浏览器里的 JS = ES(语法规则)+ DOM(改网页的手)+ BOM(浏览器遥控器),先学语法再学动手

本页重点

API作用参数返回值代码示例
document.getElementById按 id 找页面元素id 字符串找到的元素 / 找不到返回 nulllet box = document.getElementById("out");
console.log(box);
innerHTML读取或改写元素里的 HTML无(读)/ HTML 字符串(写)当前 HTML 字符串box.innerHTML = "<b>你好</b>";
textContent读取或改写元素里的纯文字无 / 文字字符串当前纯文字box.textContent = "你好";
alert弹出系统提示框提示文字undefinedalert("你好");
typeof查这个值是什么类型任意值类型字符串(如 number)console.log(typeof 123); // "number"