forked from theluyuan/Web
update: js简介
This commit is contained in:
parent
0f0d6947d6
commit
d4741c9064
@ -1,7 +1,4 @@
|
||||
|
||||
> 本文最初发表于[博客园](http://www.cnblogs.com/smyhvae/p/4850684.html),并在[GitHub](https://github.com/qianguyihao/Web)上持续更新**前端的系列文章**。欢迎在GitHub上关注我,一起入门和进阶前端。
|
||||
|
||||
> 以下是正文。
|
||||
|
||||
## 本文主要内容
|
||||
|
||||
@ -12,7 +9,6 @@
|
||||
- 图片标签 `<img>`
|
||||
|
||||
|
||||
|
||||
## 前言
|
||||
|
||||
### web标准
|
||||
@ -32,24 +28,30 @@ web标准总结:
|
||||
|
||||
### 浏览器介绍
|
||||
|
||||
浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、猎豹浏览器、Safari和Opera等。如下图所示:
|
||||
浏览器是网页运行的平台,常用的浏览器有谷歌(Chrome)、Safari、火狐(Firefox)、IE、Edge、Opera等。如下图所示:
|
||||
|
||||
![](http://img.smyhvae.com/20170628_1352.png)
|
||||
![](http://img.smyhvae.com/20191204_1900.png)
|
||||
|
||||
浏览器内核:
|
||||
|
||||
|浏览器 | 内核|
|
||||
|:-------------:|:-------------:|
|
||||
|IE|trident |
|
||||
|chrome / 欧鹏 |blink |
|
||||
|火狐|gecko|
|
||||
|Safari|webkit|
|
||||
|chrome / 欧鹏 |Blink |
|
||||
|Safari|Webkit|
|
||||
|Firefox 火狐|Gecko|
|
||||
|IE|Trident |
|
||||
|
||||
PS:「浏览器内核」也就是浏览器所采用的「渲染引擎」,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。**渲染引擎是兼容性问题出现的根本原因。**
|
||||
|
||||
## 编辑器相关
|
||||
|
||||
### VS Code 的使用
|
||||
|
||||
详情请移步至:[第一次使用VS Code时你应该知道的一切配置](https://github.com/qianguyihao/Web/blob/master/00-%E5%89%8D%E7%AB%AF%E5%B7%A5%E5%85%B7/01-VS%20Code%E7%9A%84%E4%BD%BF%E7%94%A8.md)
|
||||
|
||||
### Sublime Text 的使用
|
||||
|
||||
详情请移步至:[Sublime Text使用技巧](https://github.com/qianguyihao/Tools/blob/master/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/02-Sublime%20Text%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7.md)
|
||||
详情请移步至:[Sublime Text使用技巧](https://github.com/qianguyihao/Tools/blob/master/01-%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/02-Sublime%20Text%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7.md)
|
||||
|
||||
## 一、HTML的介绍
|
||||
|
||||
|
@ -54,22 +54,22 @@ JavaScript是由**网景**公司发明,起初命名为LiveScript;1995年年1
|
||||
比如Java中需要定义如下变量:
|
||||
|
||||
```java
|
||||
int a;
|
||||
float a;
|
||||
double a;
|
||||
String a;
|
||||
boolean a;
|
||||
int a;
|
||||
float a;
|
||||
double a;
|
||||
String a;
|
||||
boolean a;
|
||||
```
|
||||
|
||||
而JavaScript中,只需要用一种方式来定义:
|
||||
|
||||
```JavaScript
|
||||
// ES5 写法
|
||||
var a;
|
||||
// ES5 写法
|
||||
var a;
|
||||
|
||||
// ES6 写法
|
||||
const a;
|
||||
let a;
|
||||
// ES6 写法
|
||||
const a;
|
||||
let a;
|
||||
```
|
||||
|
||||
### JavaScript是前端语言
|
||||
@ -122,7 +122,7 @@ JavaScript基础分为三个部分:
|
||||
|
||||
### 特点1:解释型语言
|
||||
|
||||
**解释型语言**:不需要事先被翻译为机器码;而是边翻译边执行(翻译一行,执行一行)。
|
||||
JavaScript语言,不需要事先被翻译为机器码;而是边翻译边执行(翻译一行,执行一行)。
|
||||
|
||||
> 由于少了实现编译这一步骤,所以解释型语言开发起来尤为方便,但是解释型语言运行较慢也是它的劣势。不过解释型语言中使用了JIT技术,使得运行速度得以改善。
|
||||
|
||||
@ -132,17 +132,18 @@ JavaScript基础分为三个部分:
|
||||
|
||||
**编译型语言**:
|
||||
|
||||
- 定义:事先把所有的代码 一次性翻译好,然后整体执行。比如说,c语言的代码文件是`.c`后缀,翻译之后文件是`.obj`后缀(系统执行的是 obj 文件);再比如, java 语言的代码文件是`.java`后缀,翻译之后的文件是`.class`后缀。(注意,Java 语言不是严格的 编译型语言,这个一会儿会讲)
|
||||
|
||||
- 定义:事先把所有的代码 一次性翻译好,然后整体执行。
|
||||
- 优点:运行更快。
|
||||
|
||||
- 不足:移植性不好,不跨平台。
|
||||
|
||||
- 编译型语言举例:c、c++
|
||||
|
||||
比如说,c语言的代码文件是`.c`后缀,翻译之后文件是`.obj`后缀,系统执行的是 obj 文件;再比如, java 语言的代码文件是`.java`后缀,翻译之后的文件是`.class`后缀。(注意,Java 语言不是严格的 编译型语言,这个一会儿会讲)
|
||||
|
||||
**解释型语言**:
|
||||
|
||||
- 定义:**边翻译边执行**,不需要事先一次性编译。
|
||||
- 定义:**边翻译边执行**(翻译一行,执行一行),不需要事先一次性翻译。
|
||||
|
||||
- 优点:移植性好,跨平台。
|
||||
|
||||
@ -174,31 +175,57 @@ ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能
|
||||
|
||||
### JavaScript代码的书写位置
|
||||
|
||||
(1)内嵌的方式:
|
||||
> 也可以理解成:引入 js 代码,有哪几种方式。
|
||||
|
||||
方式1、内嵌的方式:
|
||||
|
||||
页面中,我们可以在`<body>`标签里放入`<script type=”text/javascript”></script>`标签对儿,并在`<script>`里书写JavaScript程序:
|
||||
|
||||
```
|
||||
<script type="text/javascript">
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<script type="text/javascript">
|
||||
// 在这里写 js 代码
|
||||
|
||||
</script>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
text表示纯文本,因为JavaScript也是一个纯文本的语言。
|
||||
|
||||
PS:在Sublime Text里,输入`<sc`后,按tab键,可以自动补齐。
|
||||
|
||||
(2)外链式:引入外部JavaScript文件(放到body标签里,可以和内嵌的js代码并列)
|
||||
方式2、引入外部的 JS 文件:
|
||||
|
||||
```
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 引入外部的 js 文件 -->
|
||||
<script src="tool.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
上面这段代码,依然是放到body标签里,可以和内嵌的js代码并列。
|
||||
|
||||
**总结**:我们在实战开发中,基本都是采用方式2,因为这种方式,可以确保 html 文件和 js 文件是分开的。很少会有人把一大堆 js 代码写在 html 文件里。
|
||||
|
||||
### alert语句
|
||||
|
||||
我们要学习的第一个语句,就是alert语句。
|
||||
|
||||
```
|
||||
```html
|
||||
<script type="text/javascript">
|
||||
alert("生命壹号");
|
||||
</script>
|
||||
@ -226,7 +253,7 @@ PS:在Sublime Text里,输入`<sc`后,按tab键,可以自动补齐。
|
||||
|
||||
代码一:
|
||||
|
||||
```
|
||||
```html
|
||||
<script type="text/javascript">
|
||||
alert("今天蓝天白云");
|
||||
alert("我很高兴");
|
||||
@ -235,7 +262,7 @@ PS:在Sublime Text里,输入`<sc`后,按tab键,可以自动补齐。
|
||||
|
||||
等价于代码二:
|
||||
|
||||
```
|
||||
```html
|
||||
<script type="text/javascript">
|
||||
alert("今天蓝天白云");alert("我很高兴");
|
||||
</script>
|
||||
|
@ -1,9 +1,11 @@
|
||||
|
||||
> 本文的最新内容将在[GitHub](https://github.com/qianguyihao/Web)上实时更新。欢迎在GitHub上关注我,一起入门和进阶前端。
|
||||
|
||||
> 本文的最新内容,更新于**2019-12-01**。大家完全不用担心这篇文章会过时,因为随着 前端技术的更新更新,本文也会随之更新。
|
||||
|
||||
> 本文的最新内容也会在[GitHub](https://github.com/qianguyihao/Web)上实时更新。欢迎在GitHub上关注我,一起入门和进阶前端。
|
||||
|
||||
我之前写过一篇文章:[《裸辞两个月,海投一个月,从Android转战Web前端的求职之路》](http://www.cnblogs.com/smyhvae/p/8732781.html)。这篇文章讲述了我在转型过程中的亲身经历和感受,不少童鞋私信问我怎么入门前端,于是有了这篇文章。
|
||||
|
||||
|
||||
## Web前端入门的自学路线
|
||||
|
||||
> 新手入门前端,需要学习的**基础内容**有很多,如下。
|
||||
@ -14,7 +16,7 @@
|
||||
|
||||
三、jQuery、Ajax等。jQuery没有过时,它仍然是前端基础的一部分。
|
||||
|
||||
四、ES6语法。这部分属于JS新增的语法,面试必问。其中,关于promise、async等内容要尤其关注。
|
||||
四、ES6语法。这部分属于JS新增的语法,面试必问。其中,关于 promise、async 等内容要尤其关注。
|
||||
|
||||
五、HTML5和CSS3。要熟悉其中的新特性。
|
||||
|
||||
@ -30,17 +32,23 @@
|
||||
|
||||
十一、前端综合:HTTP协议、跨域通信、安全问题(CSRF、XSS)、浏览器渲染机制、异步和单线程、页面性能优化、防抖动(Debouncing)和节流阀(Throtting)、lazyload、前端错误监控、虚拟DOM等。
|
||||
|
||||
十二、编辑器相关。Sublime Text 是每个学前端的人都要用到的编辑器。另外,前端常见的IDE有两个:WebStorm 和 Visual Studio Code。WebStorm什么都好,可就是太卡顿;VS Code就相对轻量很多。个人总结一下:新手一般用 WebStorm,入门之后,用 VS Code 的人更多。
|
||||
十二、编辑器相关。Sublime Text 是每个学前端的人都要用到的编辑器。另外,前端常见的IDE有两个:WebStorm 和 Visual Studio Code。WebStorm 什么都好,可就是太卡顿;VS Code就相对轻量很多。个人总结一下:用VS Code 的人越来越多,用 WebStorm 的人越来越少。具体可以看:《[第一次使用VS Code时你应该知道的一切配置](https://www.cnblogs.com/qianguyihao/p/10732375.html)》
|
||||
|
||||
十三、TypeScript(简称TS)。ES 是 JS 的标准,TS 是 JS 的超集。TS属于进阶内容,建议把上面的基础掌握之后,再学TS。
|
||||
|
||||
## 推荐的图文教程
|
||||
## 推荐的前端图文教程
|
||||
|
||||
我在GitHub上有一个Web前端入门的学习教程,非常详细,地址是:
|
||||
|
||||
> <https://github.com/qianguyihao/Web>
|
||||
|
||||
非常详细和贴心,你值得star。
|
||||
非常详细和贴心,你值得star。这个前端教程主要有三个作用:
|
||||
|
||||
- 网上的大部分入门教程,都不太适合初学者,本项目争取照顾到每一位入门者的同理心。
|
||||
|
||||
- 帮助前端同学提供一个精品学习路线和资源,提高学习效率,少走很多弯路。
|
||||
|
||||
- 可以当做前端字典,随时翻阅,查漏补缺。
|
||||
|
||||
## 学习交流
|
||||
|
||||
@ -70,7 +78,6 @@
|
||||
|
||||
关于这个问题,也可以看下面这篇文章:[浏览器输入 URL 后发生了什么?](https://zhuanlan.zhihu.com/p/43369093)
|
||||
|
||||
|
||||
- 《[CSS世界](https://book.douban.com/subject/27615777/)》
|
||||
|
||||
关于 CSS 的书籍,首先推荐这本书,我身边的大佬们都说这本书好。虽然我不是大牛,但我也觉得这本书很好。
|
||||
@ -85,7 +92,6 @@
|
||||
|
||||
学是一方面,也是最主要的方面;但还有一个作用,比如,“这个前端框架你都不知道啊”、“这个前端大牛你都没听说过啊” 。此时,这份清单就能起到作用了。如果能把清单里列出的内容都了解下,逼格也会高很多。
|
||||
|
||||
|
||||
- MDN 官方文档:<https://developer.mozilla.org/zh-CN/docs/Web>
|
||||
|
||||
如果你想查看前端的 api 文档,请首先去 MDN上看。很官方,很正规。
|
||||
|
Loading…
Reference in New Issue
Block a user