前端:最新最全的JavaScript知识汇总,持续更新......

发布于:2025-09-08 ⋅ 阅读:(22) ⋅ 点赞:(0)

一、基本语法

(一)编写JS的位置

1、HTML代码行内

2、script标签中

3、外部的script文件:需要通过script元素的src属性引入js文件

(二)JS编写注意事项

1、script不能写成单标签

2、可省略script标签中的type="text/javascript";属性(因为JS是所有现代浏览器以及HTML5中默认的脚本语言)

3、加载顺序:JS默认遵循HTML文档自上而下的加载顺序

4、JS严格区分大小写

(三)JS交互

1、alert():接受1个参数,使用弹窗查看运行结果

2、console.log():可接受多个参数,在浏览器控制台查看运行结果

3、document.write():接受多个字符串,在浏览器页面查看运行结果

4、prompt:接受1个参数,在浏览器接受用户输入结果

(四)JS语句和分号

1、语句:向浏览器发出的指令,表达1个操作或行为。

2、分号:因人(公司))

(五)JS注释

1、单行注释://

2、多行注释:/**/

3、文档注释:/** ******* */

(六)变量

1、是什么:存放数值的容器且数值可变。

2、命名规则:

(1)首字符必须是字母、下划线(_)或 $ 符号。
(2)其他字符可以是字母、下划线(_)、$ 符号 或 数字。
(3)不能是JavaScript的关键字或保留字,例如 varfunctionlet 等。
(4)变量名严格区分大小写

3、命名规范:

(1)多个单词使用驼峰标识
(2)变量名语义化(见名知意)
(3)英语单词(尽量不要写拼音)

4、注意事项:

(1)变量未声明直接使用则报错
(2)变量声明了但未赋值,则结果默认是undefined
(3)变量未使用var声明但赋值了,那该变量直接被添加到window对象

eg:age = 18 ;

(七)数据类型

1、Number

2、String

3、Boolean

4、Undefined

5、Null

6、Object

7、BigInt

8、Symbol

(八)typeof操作符

1、number:数值

2、string:字符串

3、boolean:布尔值

4、undefined:未定义

5、object:对象或null

6、function:函数

7、symbol:符号

(九)补充知识

1、浏览器内核、JS引擎、JS代码运行之间的关系是什么?

答:(1)是什么:
  • 浏览器内核(Rendering Engine):又叫渲染引擎,负责将网页的代码(HTML, CSS, JavaScript)“转化”成你肉眼可见的、可交互的页面。eg:WebKit、Blink、Gecko 
  •  JavaScript引擎(JS Engine):它是浏览器内核中的一个专门负责处理JavaScript代码的核心子模块。专门负责读取、编译(或解释)和执行JavaScript代码。eg:V8、JavaScriptCore、SpiderMonkey
  • JavaScript代码:你写的程序指令。它是被动的,需要被JS引擎这个“大脑”来解析和执行,从而驱动网页产生动态效果和交互逻辑。

(2)工作流程:

  • 浏览器内核(Rendering Engine):解析HTML构建DOM树-》解析CSS构建CSSOM树-》合并成渲染树-》布局重排(Layout)-》绘制重绘(Painting)
  • JavaScript引擎(JS Engine):读取JS代码(Parsing)-》编译(Compilation)成为可执行的机器码(字节码)-》执行(Execution)机器码CPU开始干活-》优化(Optimization)编译结果,让代码跑得更快
  • JavaScript代码:它是被动的,需要被JS引擎这个“大脑”来解析和执行,从而驱动网页产生动态效果和交互逻辑。
(3)三者关系
  • 你编写JavaScript代码,并通过<script>标签引入网页
  • 浏览器内核网络模块先加载这些代码文本
  • 内核将代码交给它的JS引擎部门处理
  • JS引擎将代码编译成机器码并执行
  • 执行过程中,JS代码可能会通过DOM API指令内核渲染引擎:“把这个元素的颜色改成红色!”
  • 渲染引擎接收到指令,重新进行样式计算、布局或绘制,更新页面显示
  • 一个动态的、可交互的网页就这样诞生了
(4)核心图解:

(5)总结归纳:
概念 角色 职责 比喻
浏览器内核 综合管理者 加载资源、解析、渲染、布局、绘制整个页面 整个手机(硬件+操作系统)
JS引擎 专业执行者 专门编译、优化、执行JavaScript代码 手机里的CPU/大脑
JS代码 指令 被动的文本,需要被引擎执行才能生效 你在手机上运行的一个APP

2、机器语言、汇编语言、高级语言分别是什么?它们之间有什么关系?

答:(1)机器语言 (Machine Language) - “用开关指挥”:CPU能直接理解和执行的二进制指令(0和1的序列)。每一串0和1控制着CPU底层的一个特定操作(比如从内存某个位置取数、做加法、存结果)。
(2)汇编语言 (Assembly Language) - “用代号指挥”:机器语言的“助记符”形式。用一些简单的英文单词缩写(称为“助记符”)来代替那一串串二进制码,让人类稍微好理解一点。

eg:CPU寄存器、内存地址

(3)高级语言 (High-Level Language) - “说人话指挥”:更接近人类自然语言(尤其是英语)和数学公式的编程语言。它们完全屏蔽了复杂的硬件细节。

eg:Python, Java, JavaScript, C++, Go, Swift等

语言层次 可能的表现形式 可读性
机器语言 10111000 00000001 00000000
10111100 00000010 00000000
00000000
天书

汇编语言

MOV AX, 1
MOV BX, 2
ADD AX, BX
勉强能猜
高级语言 result = 1 + 2 一目了然


网站公告

今日签到

点亮在社区的每一天
去签到