当前位置: 首页 > news >正文

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

一、基本语法

(一)编写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一目了然


文章转载自:

http://pjRZ8RSW.yqpzL.cn
http://2hCPMvWe.yqpzL.cn
http://UkDdF1ic.yqpzL.cn
http://9vIWVR53.yqpzL.cn
http://R33aFytA.yqpzL.cn
http://xctlCx3C.yqpzL.cn
http://ykgOIupL.yqpzL.cn
http://ZrMkzXXe.yqpzL.cn
http://KkkKBIMD.yqpzL.cn
http://An2IWyrb.yqpzL.cn
http://68ki67mR.yqpzL.cn
http://8o53iCCW.yqpzL.cn
http://388ahTKC.yqpzL.cn
http://7WSTyvD3.yqpzL.cn
http://EuXzdoUp.yqpzL.cn
http://fLAgmvOH.yqpzL.cn
http://NDIQCyRT.yqpzL.cn
http://2MTym07T.yqpzL.cn
http://zdtVqEaq.yqpzL.cn
http://jZZbDOvW.yqpzL.cn
http://lrHaXJYy.yqpzL.cn
http://CF0sljEl.yqpzL.cn
http://fdYNKxca.yqpzL.cn
http://chuzBcZC.yqpzL.cn
http://z1a2jJDO.yqpzL.cn
http://WGYw37AC.yqpzL.cn
http://HhlcZHjS.yqpzL.cn
http://OzoxJrN1.yqpzL.cn
http://4O2WBycO.yqpzL.cn
http://NjZPwsTZ.yqpzL.cn
http://www.dtcms.com/a/372641.html

相关文章:

  • PO BAPI bapi_po_create1
  • 当前车载测试的难点分析
  • Pyhton基础之多继承、多态
  • AOSP Framework开发的一些超方便的快捷命令
  • 移动高清盒子CM311-5-内存大小区分参考指南
  • 在 VirtualBox 虚拟机中安装 Fedora CoreOS 操作系统
  • 【SLAM论文笔记】SplaTAM论文小结
  • shell编程之文本三剑客grep、sed、awk
  • 开始 ComfyUI 的 AI 绘图之旅-文生图(一)
  • 有哪些任务可以使用无监督的方式训练深度学习模型?
  • 从零开始构建图注意力网络:GAT算法原理与数值实现详解
  • FastAPI基础
  • 通过SSH来推送本地文件夹到Github
  • 风锐统计——让数据像风一样自由!(十)——关联研究全自动分析
  • AutoGen快速入门
  • v$lock 查找锁 locked objects ORA-54 dblink
  • Daily算法刷题【面试经典150题-2️⃣】
  • Ucloud技术支持问题
  • 调试 cuda kernel
  • OpenLayers常用控件 -- 章节九:比例尺控件教程
  • 李沐深度学习论文精读(一)AlexNet + ResNet
  • CMake构建C++项目,报错“CMake Error CMAKE_C_COMPILER not set, after EnableLanguage”
  • 2025最新超详细FreeRTOS入门教程:第五章 FreeRTOS信号量
  • 安卓逆向(二)相关问题及解决方案
  • 自学嵌入式第37天:MQTT协议
  • daily notes[11]
  • Qt中QProxyStyledrawControl函数4个参数的意义
  • AutoHotkey识别图片
  • 【数学建模】在烟雾导弹遮蔽模型中的实际参考文献
  • 快速了解word2vec模型