JavaScripe基本了解
JavaScript是什么
-
世界上最流行之一,是运行在客户端的脚本语言(Script)
脚本语言:不需要编译,运行过程中由js解释器(js引擎)逐行进行编译
-
现在也可以基于Node.js技术进行服务器端编程
JavaScript作用
- 表单动态验证(最开始的作用)
- 网页特效
- 服务端开发(Node.js)
- 桌面程序(Electron)
- App(Cordova)
- 控制硬件-物联网(Ruff)
- 游戏开发(cocos2d-js)
解释型语言和编译型语言
- 翻译器翻译有两种方式:一种是编译,另外一种是解释。两种方式之间区别在于翻译的时间点不同
- 编译器是在代码执行之前进行编译,生成中间代码文件
- 解释器是在运行时进行及时解释,并立即执行(当解释器以解释方式运行的时候,也称为解释器)
标识符,关键字,保留字
- 标识符:开发人员为变量,属性,函数,参数取的名字
- 关键字:js本身已经使用了的字,不能在使用它们充当变量名,方法名
- 保留字:预留的‘关键字’,将来可能会成为关键字
浏览器执行js
浏览器分为 渲染引擎和js引擎
-
渲染引擎:用来解析html和css,俗称内核,比如chrome浏览器的blink,老版本的webkit
-
js引擎:也称js解释器。用来处理javascript代码,比如chrome浏览器的V8
浏览器本身不会执行js代码,而是通过内置的javascript引擎来执行js代码。js引擎运行代码时逐句解释每一句代码(转为机器语言),然后由计算机去执行,所以javascript语言为脚本语言,会逐句解释执行。
js三部分组成
- ECMAscript:JavaScript语法
- DOM:页面文档对象模型
- BOM:浏览器对象模型
JS的书写位置
-
行内式
- 可以将单行或少量JS代码写在HTML标签的事件中(以on开头的属性),如onclick
- 单行引用使用:在HTML中推荐使用双引号,JS中推荐使用单引号
- 可读性差,在HTML中编写大量JS代码时,不方便阅读
-
标签引用
<script> 代码 </script>
-
外部js文件
<script src="文件位置"></script>
- 利于HTML页面代码结构化,把大段代码独立HTML页面之外,既美观,也方便文件级别的复用
- 引用的JS文件代码的script不可以写代码
- 适用于js代码量比较大的情况
-
浏览器的控制台
JS的注释
单行注释 //
多行注释/**/
js命名规范
-
标识符命名规范:变量,函数的命名
一般变量用名词
函数名用动词
-
操作符规范
操作符的左右两侧保留一个空格
-
单行注释规范
// 空一格再书写
-
其他规范
表达式
最小的,不可再分割的
- 基本数据直接量:100;'hello'
- 变量名,函数名
- 关键字:function等
内存规范
栈:简单数据类型存放在栈里面,里面直接开辟一个空间,存放值
堆:复杂数据类型存放在堆里面,真正的数据存放在堆里面
首先在栈里面存放地址,这个地址存放堆里面的数据
// 复杂数据的引用类型,要考虑深拷贝和浅拷贝
var arr = [10,20,30];
var b=a;
b[1] = 200;
console.log(b);
console.log(a);
// 10 200 30
// 10 200 30
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通