2024年Web前端最全GitHub标星13(1),2024年最新大厂前端研发岗面试复盘

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

html5

入门易学性

  • JavaScript对初学者比较友好、简单易用。可以使用任何文本编辑工具编写,只需要浏览器就可以执行程序。

  • JavaScript是有界面效果的(相比之下,C语言只有白底黑字)。

  • JavaScript是弱变量类型的语言,变量只需要用 var/let/const 来声明。而Java中变量的声明,要根据变量的类型来定义。

比如Java中需要定义如下变量:

int a;

float a;

double a;

String a;

boolean a;

而JavaScript中,只需要用一种方式来定义:

// ES5 写法

var a;

// ES6 写法

const a;

let a;

JavaScript是前端语言

JavaScript是前端语言,而不是后台语言。

JavaScript运行在用户的终端网页上,而不是服务器上,所以我们称之为“前端语言”。就是服务于页面的交互效果、美化,不能操作数据库。

后台语言是运行在服务器上的,比如PHP、ASP、JSP等等,这些语言都能够操作数据库,都能够对数据库进行“增删改查”操作。

备注:Node.js是用 JavaScript 开发的,现在也可以基于 Node.js 技术进行服务器端编程。

JavaScript的组成

JavaScript基础分为三个部分:

  • ECMAScript:JavaScript 的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。

  • DOM:Document Object Model(文档对象模型),操作页面上的元素的API。比如让盒子移动、变色、改变大小、轮播图等等。

  • BOM:Browser Object Model(浏览器对象模型),操作浏览器部分功能的API。通过BOM可以操作浏览器窗口,比如弹框、控制浏览器跳转、获取浏览器分辨率等等。

通俗理解就是:ECMAScript 是 JS 的语法;DOM 和 BOM 浏览器运行环境为 JS提供的API。

JavaScript 的特点


特点1:解释型语言

JavaScript 是解释型语言,不需要事先被翻译为机器码;而是边翻译边执行(翻译一行,执行一行)。

什么是「解释型语言」?详见下一段。

由于少了实现编译这一步骤,所以解释型语言开发起来尤为方便,但是解释型语言运行较慢也是它的劣势。不过解释型语言中使用了JIT技术,使得运行速度得以改善。

特点2:单线程

特点3:ECMAScript标准

ECMAScript是一种由 ECMA 国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)制定和发布的脚本语言规范。

JavaScript是由公司开发而成的,问题是不便于其他的公司拓展和使用。所以欧洲的这个ECMA的组织,牵头制定JavaScript的标准,取名为ECMAScript。

简单来说,ECMAScript不是一门语言,而是一个标准。ECMAScript 规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。

ECMAScript在2015年6月,发布了ECMAScript 6版本(ES6),语言的能力更强(也包含了很多新特性)。但是,浏览器的厂商不会那么快去追上这个标准,需要时间。

编程语言的分类


翻译器

计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所编写的语言翻译成机器语言,计算机才能执行程序。程序语言翻译成机器语言的工具,被称为翻译器

由此可见,所谓的“翻译”,指的是翻译成计算机能够执行的指令。

翻译器翻译的方式有两种:一种是编译,另一种是解释。两种方式之间的区别在于翻译的时机不同。

  • 编译器:在代码执行之前,事前把所有的代码一次性翻译好,生成中间代码文件,然后整体执行。

  • 解释器:边翻译,边执行(在代码执行时进行及时翻译,并立即执行)。当编译器以解释的方式运行时,也称之为解释器。

对应的语言,称之为“编译型语言”、“解释型语言”。

编译型语言

  • 定义:事先把所有的代码一次性翻译好,然后整体执行。

  • 优点:运行更快。

  • 不足:移植性不好,不跨平台。

  • 编译型语言举例:c、c++

比如说,c语言的代码文件是.c后缀,翻译之后文件是.obj后缀,系统执行的是 obj 文件;再比如, java 语言的代码文件是.java后缀,翻译之后的文件是.class后缀。(注意,Java 语言不是严格的 编译型语言,这个一会儿会讲)

解释型语言

  • 定义:边翻译边执行(翻译一行,执行一行),不需要事先一次性翻译。

  • 优点:移植性好,跨平台。

  • 缺点:运行更慢。

  • 解释型语言举例:JavaScript、php、Python。

Java语言

Java 语言既不是编译型语言,也不是解释型语言。翻译过程:

(1)编译:.java代码文件先通过 javac 命令编译成.class文件。

(2)执行:.class文件再通过 jvm 虚拟机,解释执行。有了 jvm 的存在,让 java 跨平台了。

开始写第一行JavaScript代码


JavaScript 代码的书写位置在哪里呢?这个问题,也可以理解成:引入 js 代码,有哪几种方式。

方式1:行内式

代码举例

<input type=“button” value=“点我点我” οnclick=“alert(‘千古壹号’)” />

完整的可执行代码如下:

Document

<input type=“button” value=“点我点我” οnclick=“alert(‘千古壹号的方式1’)” />

分析

  • 可以将单行或少量 JS 代码写在HTML标签的事件属性中(以 on 开头的属性),比如放在上面的 onclick点击事件中。

  • 这种书写方式,不推荐使用,原因是:可读性差,尤其是需要编写大量 JS代码时,容易出错;引号多层嵌套时,也容易出错。

  • 关于代码中的「引号」,在HTML标签中,我们推荐使用双引号, JS 中我们推荐使用单引号。

方式2、内嵌式

我们可以在html 页面的 <body> 标签里放入<script type=”text/javascript”></script>标签对儿,并在<script>里书写JavaScript 代码:

Document

分析

  • text表示纯文本,因为JavaScript也是一个纯文本的语言。

  • 可以将多行JS代码写到 <script> 标签中。

  • 内嵌式 JS 是学习时常用的方式。

方式3:引入外部的 JS 文件

Document

上面这段代码,依然是放到body标签里,可以和内嵌的js代码并列。

另外,引用外部 JS文件的 script 标签中间不可以再写代码。

总结

我们在实战开发中,基本都是采用方式3,因为这种方式,可以确保 html 文件和 js 文件是分开的,有利于代码的结构化和复用。很少会有人把一大堆 js 代码塞到 html 文件里。

JS一些简单的语法规则


学习程序,是有规律可循的,程序会有有相同的部分,这些部分就是一种规定,不能更改,我们成为:语法。

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

代码一:

等价于代码二:

备注:每一条语句末尾要加上分号,虽然分号不是必须加的,如果不写分号,浏览器会自动添加,但是会消耗一些系统资源。

(2)所有的符号,都是英语的。比如括号、引号、分号。

如果你用的是搜狗拼音,建议不要用shift切换中英文(可以在搜狗软件里进行设置),不然很容易输入中文的分号;建议用ctrl+space切换中英文输入法。

(3)严格区分大小写。

注释


我们不要把 HTML、CSS、JavaScript三者的注释格式搞混淆了。

HTML 的注释

CSS的注释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值