战胜JavaScript基础——what is JavaScript
What is JavaScript?
1.1 JavaScript是什么
JavaScript(简称 JS)是一种轻量级、解释型、动态类型的脚本语言,主要运行在浏览器中,用于为网页添加交互行为。同时,Node.js 的出现使其也能在服务器端运行。
1.2 作用
1.2.1 浏览器端:让网页能动起来
(1)操作网页内容(DOM 操作)
JS 可以找到网页上的任何一个元素,然后修改它。比如把一段文字从“你好”变成“再见”,或者把一张图片换成另一张。这就是增删改查网页元素的能力。
(2)监听用户动作(事件处理)
JS 可以“听到”用户在网页上做的各种事情——点击、滑动、输入文字、鼠标移过去等等。听到之后就能做出反应,比如“用户点了这个按钮,就弹出一个提示框”。
(3)动态改变样式
JS 可以随时修改网页的外观。比如让一段文字变红,让一个盒子隐藏起来,或者让一张图片慢慢变大。
(4)发送网络请求(AJAX / Fetch)
这是现代网页最核心的能力之一。JS 可以在不刷新整个页面的情况下,去服务器要数据,然后把数据填到当前页面上。你刷微博时往下滑看到新内容,就是这个原理。
(5)在浏览器里存数据
JS 可以在你的电脑里存一点小东西。比如你登录网站后,网站把你是否登录的状态存下来,下次你打开就不用重新登录了。
(6)做动画
JS 可以让元素移动、淡入淡出、缩放旋转。虽然现在很多动画用 CSS 也能做,但复杂的动画序列还是靠 JS。
(7)表单验证
你注册账号时,JS 可以在你点击“提交”之前,当场检查你填的手机号格式对不对、密码够不够长。这样就省去了发送到服务器再等反馈的时间。
1.2.2 服务端(Node.js):让 JS 跑到服务器上
(1)处理 HTTP 请求——写后端 API,和 Python 的 Flask、Django 做的事情一样。
(2)操作数据库——连接 MySQL、MongoDB,读写数据。
(3)读写文件——在服务器上创建、删除、修改文件。
(4)做实时通信——写聊天室、在线游戏、协同编辑文档这类需要实时推送的功能。
(5)写工具脚本——爬虫、自动化脚本、命令行工具。
1.2.3 补充:
Node.js是什么
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,让 JavaScript 可以脱离浏览器运行在服务器端或本地命令行。
Node.js 适用于超出浏览器沙箱限制的场景:服务端 HTTP API、文件系统操作、数据库访问、WebSocket 服务、CLI 工具、桌面应用,以及前端构建工具链。
1.3 JavaScript的组成
大抵可分为两大类
(1)ECMAScript(JavaScript语言基础)
规定了js基础语法核心知识,比如:变量、分支语句、循环语句、对象等
(2)Web APIs
定义:Web APIs 是浏览器提供的所有 JavaScript API 的统称,包括 DOM、BOM 以及其他功能 API。
- DOM
定义:DOM 是 HTML/XML 文档的编程接口,将网页文档表示为树形结构,允许 JS 动态访问和修改文档内容、结构和样式。
- BOM
定义:BOM 是浏览器对象模型,提供与浏览器窗口交互的 API(不涉及网页内容),允许 JS 操作浏览器窗口、历史记录、导航、屏幕信息等。
1.4 可用学习网站
https://developer.mozilla.org/zh-CN
或直接搜索mdn
1.5 JavaScript 书写位置
1.5.1 内部JavaScript
- 写在html文件中,用script标签包裹(script标签写在文档末尾上面)
- why?
- 拓展:alert(‘你好,js’) 页面弹出警告对话框
1.5.2 外部的JavaScript
写在以.js结尾的文件里,通过script标签,引入到html页面中。
<!-- 引入js文件夹里的my.js文件 -->
<body>
<script src="./js/my.js>
//中间不要写代码,会被忽略
<script>
</body>
1.5.3 内联JavaScript
代码写在标签内部
<body>
<button onclick="alert('joke')">sad</button>
</body>
2 JavaScript 怎么写
2.1 注释
- 单行注释:
- 符号://
- 快捷键:ctr+/
<script>
//这种是单行注释
</script>
- 块注释
- 符号:/* */
- 快捷键:ctr++shift+/
<script>
/*
多行
注释
*/
</script>
2.2 结束符“;”
2.3 输入输出
2.3.1 输出语法
(1)document.write()
document.write('要输出的内容')
// document 文档
作用:向body内输出内容(内容为标签,也会被解析成网页元素)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//1.文档输出内容
document.writeln("输出div")
document.writeln("<h1>标题</h1>")
</script>
</body>
</html>
(2)alert()
alert('内容')
作用:页面弹出警告对话框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
alert("内容")
</script>
</body>
</html>
(3)console.log()
console.log('控制台打印')
作用:控制台输出语法,程序员调试使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
console.log('控制台打印')
</script>
</body>
</html>
2.3.2 输入语句
prompt('输入')
作用:显示一个对话框,对话框中包含一条文字信息,用来提示用户输入
更多推荐



所有评论(0)