这是我参与2022首次更文挑战的第19天,活动详情查看:2022首次更文挑战」。
初识JS
1. 脚本编程
无需编译,由浏览器内置的js引擎(如chrome的V8,相当于解释器)读取JS代码,逐行解释为二进制,然后由计算机执行,而非浏览器
1.1 js引擎
- 预解析
- 代码执行:遵循从上往下执行层叠
1.2 作用
表单动态校验(密码强度检测)
( JS 产生最初的目的 )
网页特效
后端服务端开发(Node.js)
桌面程序(Electron)
App(Cordova)
控制硬件-物联网(Ruff)
游戏开发(cocos2d-js)
1.3 语句
1.3.1 用户表单
- 1-输入prompt(' ')
- 3-输出alart(' ')
1.3.2 2-程序内部处理
声明变量var
1.3.2 浏览器控制台输出F12
程序员内部测试console.log( ) alart('num.length');对变量操作前要加小点
变量
是内存的一个存储数据的容器
1. 变量命名规范
字母(A-Za-z)数字(0-9)下划线(_)、美元符号( $ )。usrAge _name
严格区分大小写。var app; var App
不能以数字开头。 18age 是错误的
不能关键字、保留字。var、name
有意义。 MMD BBD nl → age
驼峰命名。首字母小写,后面单词的首字母需要大写。myFirstName
1.1 标识符
开发人员
为变量、属性、函数、参数取的名字
变量用名词
函数用动词
1.2 关键字
JS已经使用的字,不能再用其充当变量名
break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with
使用关键字即为自定义
1.3 保留字
预留的“关键字”,现在虽然还不是关键字,但未来可能会成为关键字
boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile
2. 交换变量
2.1 diagram画图实现逻辑思路
2.2 文档中文注释步骤
2.3 编写代码
构建临时空变量temp
3. 数据类型
3.1 简单--栈空间
操作系统自动分配释放
3.1.1 Number数字
- 包含整数和浮点小数
- 进制开头
- 八0
- 十六0x
- NaN 不是一个数字Not A Number
3.1.2 Srting字符串
- 外单引,内双引
-
- 号:数字相加,字符相连
- 引入变量,引引加加
- 转义符\
- n换行newline
- t缩进tab
- b空格blank
3.1.3 Boolean布尔值
true当1,false当0
3.1.4 Underfined声明无值
加数字=NaN
3.1.5 Null空值
3.2 复杂--堆空间
程序员分配释放,否则垃圾回收
(一)对象按值传递,局部对象执行完毕
(二)垃圾回收:
①标记清除(当前不使用的值)
②引用计算(达到量销毁引用次数0)
③手动解除(对全局变量null)
以上两种主路径,销毁变量→释放内存