> 文章列表 > JavaScript基础-01

JavaScript基础-01

JavaScript基础-01

JavaScript是一门编程语言,可为网站添加交互功能(例如:游戏、动态样式、动画以及在按下按钮或收到表单数据时作出的响应)。

JavaScript是什么?

JavaScript(缩写:JS)是一门完备的动态编程语言。当应用于HTML文档时,可为网站提供动态交互特性。由布兰登·艾克(Brendan Eich,Mozilla 项目、Mozilla 基金会和 Mozilla 公司的联合创始人)发明。
JavaScript 的应用场合极其广泛,简单到幻灯片、照片库、浮动布局和响应按钮点击,复杂到游戏、2D/3D 动画、大型数据库驱动程序等等。

JavaScript 相当简洁,却非常灵活。开发者们基于 JavaScript 核心编写了大量实用工具,可以使 开发工作事半功倍。其中包括:

  • 浏览器应用程序接口(api)—— 浏览器内置的 API 提供了丰富的功能,比如:动态创建 HTML 和设置 CSS 样式、从用户的摄像头采集处理视频流、生成 3D 图像与音频样本等等。
  • 第三方 API —— 让开发者可以在自己的站点中整合其他内容提供者(Twitter、Facebook 等)提供的功能。
  • 第三方框架和库 —— 用来快速构建网站和应用。

JavaScript的“Hello World”

JS代码的引入方式(与css的引入方式类似):

  1. 行内式:写在标签内部
  2. 内嵌式:写在head标签中
  3. 外链式:引入外部js文件

行内式

代码举例:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><input type="button" value="点我点我" onclick="alert('努力学习JavaScript')" /></body>
</html>

分析:

  • 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性),比如放在上面的onclick 点击事件中。
  • 这种书写方式,不推荐使用,原因是:可读性差,尤其是需要编写大量 JS 代码时,很难维护;引号多层嵌套时,也容易出错。
  • 关于代码中的「引号」,在 HTML 标签中,我们推荐使用双引号,JS 中我们推荐使用单引号。

内嵌式

我们可以在HTML页面中的 标签里放入并在<script>里面书写 JavaScript代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><script type="text/javascript">// 在这里写 js 代码alert('努力学习JavaScript');console.log('引入JavaScript 方式2');</script>
</body>

分析:

  1. text表示纯文本,因为JavaScript
  2. 可以将多行JS代码写到

外链式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body><!-- 外链式:引入外部的 js 文件:这个 utils.js 文件与当前的 html 文件,处于同一级目录 --><script src="utils.js"></script>
</body>
</html>

分析:

  • 上面这段代码,依然是放到 body 标签里,可以和内嵌的 JS 代码并列。
  • 上方代码的 script 标签已经引入了外部 JS 文件,所以这个标签里面,不可以再写 JS 代码。

总结:
我们在实战开发中,基本都是采用方式外链式,因为将 html 文件和 js 文件分开的方式,有利于代码的结构化和复用,符合高内聚、低耦合的思想。很少会有人把一大堆 JS 代码塞到 html 文件里。

关于window.onload:先加载,最后执行

上面的三种方式,有个共同的地方是:JS代码都是写在中的,准确来说,是在页面标签元素的后面,在body结束标签的前面。
为什么一般是按照这样的顺序来写呢? 这是因为:浏览器默认会从上至下解析网页。当你需要通过JS来操作界面上的标签元素的时候,假如将JS代码、

<head>window.onload = function(){// 这里可以写操作界面元素的JS代码,等页面加载完毕后再执行...}
</head>

window.onload的含义是:等界面上所有内容都加载完毕后(不仅要等文本加载完毕,而且要等图片也要加载完毕),再执行{}中的代码。做到了先加载,最后执行,也就是:等页面加载完毕后再执行。
当然,我们可以根据具体需求,将 window.onload 写在 标签中,或者写在

JavaScript一些简单的语法规则

学习程序,是有规律可循的,程序会有有相同的部分,这些部分就是一种规定,不能更改,我们称之为:语法。我们先来了解一个简单的语法规则。

1、JS对换行、缩进、空格不敏感。每一条语句以分号结尾。

<script type="text/javascript">alert("今天我想加班了");alert("今天天气不错啊");
</script>
<script type="text/javascript">alert("今天我想加班了");alert("今天天气不错啊");
</script>

上面两端代码是等价的

2、每一条语句末尾都要加上分号。虽然分号不是必须加的,但如果不加分号,浏览器会自动添加分号,导致消耗一些系统资源和性能,甚至有可能添加错误
3、所有的符号都是英文的。比如括号、引号、分号
4、JS严格区分大小写

前端代码注释

注释:即解释、注解。注释有利于提高代码的可读性,且有利于程序员之间的沟通。
注释可以用来解释某一段代码的功能和作用;通过注释,还可以补充代码中未体现出来的部分。
注释可以是任何文字,可以写中文。

HTML的注释

格式:

<!-- 我是 HTML 注释  -->

举例:

<!--头部开始-->
<div class="header"></div>
<!--头部结束-->
<!--内容开始-->
<div class="main"></div>
<!--内容结束-->
<!--底部开始-->
<div class="footer"></div>
<!--底部结束-->

CSS注释

举例:

<style type="text/css">/* 我是 CSS 注释 */p {font-weight: bold;font-style: italic;color: red;}
</style>

注意:CSS 只有/* */这种注释,没有//这种注释。而且注释要写在

JavaScript的注释

单行注释:

// 我是注释

多行注释:

/*多行注释1多行注释2
*/

补充:VS Code 中,单行注释的快捷键是「Ctrl + /」,多行注释的默认快捷键是「Alt + Shift + A」。
当然,如果你觉得多行注释的默认快捷键不方便,我们还可以修改默认快捷键。操作如下:
VS Code --> 首选项 --> 键盘快捷方式 --> 查找“注释”这两个字 --> 将原来的快捷键修改为其他的快捷键,比如「Ctrl + Shift + /」。

JavaScript输出语句:

弹窗:alert()语句

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title></head><body><script>alert('零陵上将军邢道荣');</script></body>
</html>

alert(英文翻译为“警报”)的用途:弹出“警告框”。它会在弹窗中显示一条信息,并等待用户按下 “OK”。
上面的代码中,如果写了两个 alert()语句,则网页的效果是:弹出第一个警告框,点击确定后,继续弹出第二个警告框。

弹窗:confirm()语句(含确认/取消)

代码运行后,页面上会显示一个弹窗。弹窗上有“确认”和“取消”两个按钮,点击“确定”返回 true,点击“取消”返回 false。

弹出输入框:prompt()语句

prompt()就是专门弹出能够让用户输入的对话框。用得少,测试的时候偶尔会用。

var a = prompt('请随便输入点什么东西吧');
console.log(a);

上方代码中,用户输入的内容,将被传递到变量 a 里面,并在控制台打印出来。

alert()和prompt()的区别:

  • alert() 语句中可以输出数字和字符串,如果要输出字符串,则必须用引号括起来;prompt()语句中,用户不管输入什么内容,都是字符串。
  • prompt() 会返回用户输入的内容。我们可以用一个变量,来接收用户输入的内容。

网页内容区域输出:document.write()语句
代码举例:

document.write('说出吾名吓汝一跳');

控制台输出:console.log()打印日志

console.log()表示在控制台中输出。console 表示“控制台”,log 表示“输出”。括号里可以写字符串、数字、变量。
控制台是程序员调试程序的地方,比如使用 console 语句打印日志,测试程序是否运行正常。
在 Chrome 浏览器中,按 F12 即可打开控制台,选择「console」栏,即可看到打印的内容。

console 语句可以设置不同的打印等级:

console.log('说出吾名'); //普通打印
console.warn('吓汝一跳'); //警告打印
console.error('我乃零陵上将军邢道荣'); //错误打印

JavaScript基础-01

上图中,不同的打印等级,区别不大,只是颜色背景上的区别,方便肉眼区分、过滤信息。
做前端开发时需要经常使用控制台做调试,我们甚至可以直接在控制台输入 JS 语句,然后打印执行结果。

总结:alert() 主要用来显示消息给用户,console.log() 用来给程序员做调试用。