Web/04-JavaScript基础/02-JavaScript书写方式:hello world.md
2021-10-30 16:19:03 +08:00

285 lines
7.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## hello world开始写第一行JavaScript代码
JS 代码的书写位置在哪里呢这个问题也可以理解成引入 JS 代码有哪几种方式有三种方式和CSS的引入方式类似
1. **行内式**写在标签内部
2. **内嵌式**内联式写在head标签中
3. **外链式**引入外部JS文件
### 方式1行内式
**代码举例**
```javascript
<input type="button" value="点我点我" onclick="alert('千古壹号 Hello 方式1')" />
```
完整的可执行代码如下
```html
<!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('千古壹号 Hello 方式1')" />
</body>
</html>
```
**分析**
- 可以将单行或少量 JS 代码写在HTML标签的事件属性中 on 开头的属性比如放在上面的 `onclick`点击事件中
- 这种书写方式不推荐使用原因是可读性差尤其是需要编写大量 JS代码时很难维护引号多层嵌套时也容易出错
- 关于代码中的引号在HTML标签中我们推荐使用双引号JS 中我们推荐使用单引号
### 方式2内嵌式
我们可以在 HTML 页面的 `<body>` 标签里放入`<script type=”text/javascript”></script>`标签对并在`<script>`里书写JavaScript 代码
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
// 在这里写 js 代码
alert('千古壹号 hello 方式2');
console.log('qianguyihao hello 方式2');
</script>
</body>
</html>
```
**分析**
- text表示纯文本因为JavaScript代码本身就是纯文本
- 可以将多行JS代码写到 `<script>` 标签中
- 内嵌式 JS 是学习时常用的方式
### 方式3外链式
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<!-- 外链式:引入外部的 js 文件:这个 utils.js 文件与当前的 html 文件,处于同一级目录 -->
<script src="utils.js"></script>
</body>
</html>
```
**分析**
- 上面这段代码依然是放到body标签里可以和内嵌的JS代码并列
- 上方代码的 script 标签中间不可以再写代码
**总结**
1. 我们在实战开发中基本都是采用方式3因为将 html 文件和 js 文件分开的方式有利于代码的结构化和复用符合高内聚低耦合的思想很少会有人把一大堆 JS 代码塞到 html 文件里
###
1. 默认情况下浏览器会**从上至下**解析网页所以如果将 JS 代码或者`<script>`标签写到`<head>`标签中并且需要通过 JS 代码操作界面上的标签元素那么这样的 JS 是无效的标签元素在此时都还没来得及加载
2.
## JS一些简单的语法规则
学习程序是有规律可循的程序会有有相同的部分这些部分就是一种规定不能更改我们成为语法
1JavaScript对换行缩进空格不敏感每一条语句以分号结尾
也就是说
代码一
```html
<script type="text/javascript">
alert("今天蓝天白云");
alert("我很高兴");
</script>
```
等价于代码二
```html
<script type="text/javascript">
alert("今天蓝天白云");alert("我很高兴");
</script>
```
备注每一条语句末尾要加上分号虽然分号不是必须加的如果不写分号浏览器会自动添加但是会消耗一些系统资源
2所有的符号都是英语的比如**括号**引号分号
如果你用的是搜狗拼音**建议不要用shift切换中英文**可以在搜狗软件里进行设置不然很容易输入中文的分号建议用ctrl+space切换中英文输入法
3严格区分大小写
## 注释
我们不要把 HTMLCSSJavaScript三者的注释格式搞混淆了
### HTML 的注释
```html
<!-- 我是注释 -->
```
### CSS的注释
```html
<style type="text/css">
/*
我是注释
*/
p{
font-weight: bold;
font-style: italic;
color: red;
}
</style>
```
注意CSS只有`/* */`这种注释没有`//`这种注释而且注释要写在`<style>`标签里面才算生效哦
### JavaScript 的注释
单行注释
```
// 我是注释
```
多行注释
```
/*
多行注释1
多行注释2
*/
```
补充VS Code中单行注释的快捷键是Ctrl + /Alt + Shift + A
当然如果你觉得多行注释的默认快捷键不方便我们还可以修改默认快捷键操作如下
VS Code --> 首选项 --> 键盘快捷方式 --> 查找注释这两个字 --> 将原来的快捷键修改为Ctrl + Shift + /
## Javascript 输入输出语句
### 弹出警告框alert语句
我们要学习的第一个语句就是alert语句
代码举例如下
```html
<!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**英文翻译为警报的用途**弹出警告框**
`alert("")`警告框的效果如下
![](http://img.smyhvae.com/20180116_1735.gif)
这个警告框在IE浏览器中长这样
![](http://img.smyhvae.com/20180116_1906.png)
上面的代码中如果写了两个alert()语句的话网页的效果是弹出第一个警告框点击确定后继续弹出第二个警告框
### 控制台输出console.log("")
`console.log("")`表示在控制台中输出console表示控制台log表示输出
在Chrome浏览器中按F12即可打开控制台选择console即可看到打印的内容
`console.log("")`效果如下
![](http://img.smyhvae.com/20180116_2008.gif)
控制台是工程师程序员调试程序的地方程序员经常使用这条语句输出一些东西来测试程序是否正确
普通人是不会在意控制台的但是有些网站另藏玄机有个很有意思的地方是百度首页的控制台悄悄地放了一段招聘信息的彩蛋
![](http://img.smyhvae.com/20180116_2010.png)
做前端开发时需要经常使用控制台做调试我们甚至可以直接在控制台输入 JS 语句然后打印执行结果
**总结**alert() 主要用来显示消息给用户console.log() 用来给程序员做调试用
### 弹出输入框prompt()语句
`prompt()`就是专门用来弹出能够让用户输入的对话框用得少测试的时候偶尔会用
JS代码如下
```javascript
var a = prompt("请随便输入点什么东西吧");
console.log(a);
```
上方代码中用户输入的内容将被传递到变量 a 里面并在控制台打印出来
效果如下
![](http://img.smyhvae.com/20180116_2230.gif)
**prompt()语句中用户不管输入什么内容都是字符串**
**alert()和prompt()的区别**
- alert() 可以直接使用
- prompt() 会返回用户输入的内容我们可以用一个变量来接收用户输入的内容
## 我的公众号
想学习**更多技能**不妨关注我的微信公众号**千古壹号**
扫一扫你将发现另一个全新的世界而这将是一场美丽的意外
![](http://img.smyhvae.com/20200102.png)