JavaScript知识集

89 阅读2分钟

这是我参与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已经使用的字,不能再用其充当变量名

breakcasecatchcontinuedefaultdeletedoelsefinallyforfunctionifininstanceofnewreturnswitchthisthrowtrytypeofvarvoidwhilewith

使用关键字即为自定义

1.3 保留字

预留的“关键字”,现在虽然还不是关键字,但未来可能会成为关键字

booleanbytecharclassconst、debugger、doubleenumexport、extends、fimal、floatgoto、implements、importint、interface、long、mative、package、privateprotectedpublicshortstatic、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)

以上两种主路径,销毁变量→释放内存