🌝博客主页:泥菩萨
01-JavaScript简介
JavaScript背景
2003年之前,JavaScript被称为"牛皮藓",用来制作页面上的广告、弹窗、漂浮的广告
2004年,JavaScript命运开始改变,谷歌公司开始带头使用Ajax技术
2007年,JavaScript在移动中不可或缺
JavaScript介绍
JavaScript入门易学性
- JavaScript对初学者比较友好、简单易用。可以使用任何文本编辑工具编写,只需要浏览器就可以执行程序
- JavaScript是有界面效果的(相比之下,C语言只有白底黑字)
- avaScript是弱变量类型的语言,变量只需要用 var/let/const 来声明。而lava中变量的声明,要根据变量的类型来定义
JavaScript是脚本语言
JavaScript运行在用户的终端网页上,而不是服务器上,此时我们称之为**"前端语言"**。就是服务于页面的交互和视觉,不能直接操作数据库
后端语言是运行在服务器上的,比如PHP、ASP、JSP等,这些语言能够操作数据库,进行"增删改查"操作
备注:Node.js是用JavaScript开发的,我们也可以用Node.js技术进行服务器端编程
JavaScript的组成
JavaScript基础分为三个部分:
- ECMAScript:JavaScript的语法标准(遵循规范)
- DOM :文档对象模型,操作页面上的元素的API
- BOM :浏览器对象模型,操作浏览器部分功能的API
JavaScript的特点
特点1:解释型语言
JavaScript是解释型语言,不需要事先被翻译为机器码,而是边翻译边执行(翻译一行,执行一行)
特点2:单线程
同一时间只能做一件事情
特点3:ECMAScript标准
HTML遵循W3C标准
JavaScript遵行ECMAScript标准
编译语言的分类
翻译器
计算机不能直接理解除机器语言之外的任何语言,所以必须要把程序员所编写的语言翻译成机器语言,计算机才能执行程序,程序语言翻译成机器语言的工具,被称为翻译器
翻译器翻译的方式有两种:一种是编译 ,另一种是解释 。两种方式之间的区别在于翻译的时机不同
- 编译:在代码执行前,事前把所有的代码一次性翻译好,生成中间代码文件,然后整体执行
- 解释:边翻译,边执行
对应的语言,称之为"编译型语言"、"解释型语言"
编译型语言
优点:运行更快
不足:移植性不好,不跨平台
语言:c、c++、go
解释型语言
优点:移植性好,跨平台
不足:运行更慢
语言:JavaScript、php、Python
Java语言
Java语言既不是编译型语言,也不是解释型语言。翻译过程:
(1) 编译:.java
代码文件先通过javac命令编译成.class
文件
(2)执行:.class
文件再通过jvm虚拟机,解释执行。有了jvm的存在,让java跨平台了
安装JavaScript
首先需要安装nodejs
VSCode安装Code Runner插件
开始写第一行JavaScript代码
方式1:行内式
代码举例:
html
<input type="button" value="点我" onclick="alert('马哥教育')"/>
分析:
- 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性)
- 这种书写方式,不推荐使用,原因是:可读性差,编写大量JS代码时,容易出错
方法2:内嵌式
代码举例:
html
<script type="text/javascript">
alert('马哥教育');
</script>
分析:
- text表示纯文本,因为JavaScript也是一个纯文本的语言
type="text/javascript"
:声明语言为JavaScript,写不写都行- 可以将多行JS代码写到
<script>
标签中
方法3:引用外部的JS文件
html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<!-- 引入外部的js文件 -->
<script src="test.js"></script>
</body>
</html>
test.js:
javascript
alert('马哥教育');
分析:
- 把放在
<script>
标签中的代码放在js文件,再通过<script>
标签中的src
属性引入 - js代码和html代码分开,有利于代码的结构化和复用
JS一些简单的语法规则
(1)JS对换行、缩进、空格不敏感,每一条语句以分号结尾
javascript
<script type="text/javascript">
alert('今天星期一');
alert('天气晴🌤');
</script>
等价于代码:
javascript
<script type="text/javascript">
alert('今天星期一');alert('天气晴🌤');
</script>
备注
:
(1)每一条语句末尾要加上分号,如果不写分号,浏览器会自动添加,但是会消耗一些系统资源
(2)所有的符号都是英语的
(3)严格区分大小写
注释
我们不要把HTML、CSS、JavaScript三者的注释格式搞混淆了
HTML的注释
html
<!-- 我是HTML的注释 -->
CSS的注释
css
/* 我是CSS注释 */
JavaScript的注释
javascript
// 我是JavaScript的注释
JavaScript输入输出语句
弹出警告框:alert()
安全中,我们会用alert来弹出cookie,获得用户的身份
cookie:验证用户身份
javascript
alert(document.cookie);
控制台输出:console.log('')
再浏览器中,按F12即可打开控制台,选择「console」
总结:alert()主要用来显示消息给用户,console.log用来给程序员自己调试的
弹出输入框:prompt()
prompt( )
就是专门用来弹出能够让用户输入的对话框,用的少,测试的时候偶尔会用
javascript
prompt('请输入:');
调出打印机:print()
javascript
print(20);