【2022全新JS++前端课程】『JavaScript深度指南』之全线技术提升

JavaScript 深度指南: 红色重要 了解
浏览器内核:Trident (ie) Webkit (chrome) Gecko(firefox) opera (presto)
浏览器历史:(记得感恩前辈给我们吃饭的东西,了解前辈们走过的路)
1990 超文本分享资讯 蒂姆 伯拉斯 李
1993 马克 安德森 发明 MOSIAC 浏览器 显示图片 第一款图形化浏览器
1994 马克 吉姆.克拉克
Netscape 网景公司 -> netscape navigator 浏览器
1996 微软公司收购 spy glass =>Mosiac 内核 => IE 浏览器 同年 出版 IE3 JScript
网景公司 Brendan eich = livescript 脚本程序运行困难
Java 火起来,趁一波小热度。livescript -> javascript 网景和Sun 公司合作 推广。
2001 年:IE6 XP 出现 JS Engine.
2003 年 mozilla 公司 => firefox 基于 netscape navigator
2008 google 基于 WEBKIT BLINK progressive web app 渐进性webapp
chrome 浏览器 V8 引擎 (JS engine)
牛逼之处: 可以直接翻译机器码。
独立于浏览器,nodejs 就是基于v8 独立于浏览器的就是运行环境
2009 甲骨文收购了SUN 公司
欧洲计算机制造联合会 ECMA 评估 开发 计算机的标准规范
ECMAScript 脚本语言的规范。
编程语言 :编译型语言 解释器型语言。
源码 -> 编译器-> 机器语言 -> 可执行文件。运算速度相对来说比较快。
源码 -> 解释器 -> 解释一行就执行一行。(不需要根据系统平台移植,只需要平台有相关的解释器就可以啦)
脚本语言-> 脚本引擎-> 解析器。
cpu 的执行速度太快了,人类根本察觉不到任务在cpu调度器的切换。
Javascript JS 引擎 轮转时间片
基本类型
var str = "hello'
根据声明的值确定类型=> 弱类型语言=动态语言
原始值: 存在栈内存 数据永久保存 不可直接更改
number string boolean null undefined bigint symbol
重要
字符串数据被存储到堆,然后把字符串的引用地址存储在字符串变量中。同时为了避免错误操作,js强制约定字符串在堆存储的数据是不可变的。相当于设置字符串在堆区存储的数据是只读的。
你要这要想,字符串那么长,直接放栈上面,栈内存不一下就溢出了吗
引用值:
null 空值 Array Date Function RegExp
/////////////////////////////////////////////////////////////// 第一节 //////////////////////////////////////////////////////////////////////
函数基础 高内聚 低耦合 模块的单一责任制
// 解耦合方式 => 抽离成函数
functio test () {
var a = b =1; // 小坑, 当前b 是全局变量 被挂载到全局对象上面
}
// 形参 和 实参数量可以不相等 可根据arguements 对象获取对应的实际参数值。
function test (a,b) {
a=3 // 函数内部可直接更改实际参数值 此时arguements [0] = 3,前提是实际参数需要传值。 形参在函数中和实际参数具有一一映射的关系,你变我也变。
}
参数默认值是undefined , 函数赋值初始值 优先取非undefined的值进行赋值
// undefined null NAN " " 0 false => return false
// 固定的功能或者函数端是被封装的过程。
// Refrence error 变量需要先声明好 然后才能使用
/////////////////////////////////////////////////////////////// 第四节课 //////////////////////////////////////////////////////////////////////
// 代码如何执行的
1 先全部检查代码的语法错误
1.5:预编译阶段:
JavaScript 深度指南: 红色重要 了解
浏览器内核:Trident (ie) Webkit (chrome) Gecko(firefox) opera (presto)
浏览器历史:(记得感恩前辈给我们吃饭的东西,了解前辈们走过的路)
1990 超文本分享资讯 蒂姆 伯拉斯 李
1993 马克 安德森 发明 MOSIAC 浏览器 显示图片 第一款图形化浏览器
1994 马克 吉姆.克拉克
Netscape 网景公司 -> netscape navigator 浏览器
1996 微软公司收购 spy glass =>Mosiac 内核 => IE 浏览器 同年 出版 IE3 JScript
网景公司 Brendan eich = livescript 脚本程序运行困难
Java 火起来,趁一波小热度。livescript -> javascript 网景和Sun 公司合作 推广。
2001 年:IE6 XP 出现 JS Engine.
2003 年 mozilla 公司 => firefox 基于 netscape navigator
2008 google 基于 WEBKIT BLINK progressive web app 渐进性webapp
chrome 浏览器 V8 引擎 (JS engine)
牛逼之处: 可以直接翻译机器码。
独立于浏览器,nodejs 就是基于v8 独立于浏览器的就是运行环境
2009 甲骨文收购了SUN 公司
欧洲计算机制造联合会 ECMA 评估 开发 计算机的标准规范
ECMAScript 脚本语言的规范。
编程语言 :编译型语言 解释器型语言。
源码 -> 编译器-> 机器语言 -> 可执行文件。运算速度相对来说比较快。
源码 -> 解释器 -> 解释一行就执行一行。(不需要根据系统平台移植,只需要平台有相关的解释器就可以啦)
脚本语言-> 脚本引擎-> 解析器。
cpu 的执行速度太快了,人类根本察觉不到任务在cpu调度器的切换。
Javascript JS 引擎 轮转时间片
基本类型
var str = "hello'
根据声明的值确定类型=> 弱类型语言=动态语言
原始值: 存在栈内存 数据永久保存 不可直接更改
number string boolean null undefined bigint symbol
重要
字符串数据被存储到堆,然后把字符串的引用地址存储在字符串变量中。同时为了避免错误操作,js强制约定字符串在堆存储的数据是不可变的。相当于设置字符串在堆区存储的数据是只读的。
你要这要想,字符串那么长,直接放栈上面,栈内存不一下就溢出了吗
引用值:
null 空值 Array Date Function RegExp
/////////////////////////////////////////////////////////////// 第一节 //////////////////////////////////////////////////////////////////////
函数基础 高内聚 低耦合 模块的单一责任制
// 解耦合方式 => 抽离成函数
functio test () {
var a = b =1; // 小坑, 当前b 是全局变量 被挂载到全局对象上面
}
// 形参 和 实参数量可以不相等 可根据arguements 对象获取对应的实际参数值。
function test (a,b) {
a=3 // 函数内部可直接更改实际参数值 此时arguements [0] = 3,前提是实际参数需要传值。 形参在函数中和实际参数具有一一映射的关系,你变我也变。
}
参数默认值是undefined , 函数赋值初始值,赋值默认优先取非undefined的值进行赋值
// undefined null NAN " " 0 false => return false
// 固定的功能或者函数端是被封装的过程。
// Refrence error 变量需要先声明好 然后才能使用
/////////////////////////////////////////////////////////////// 第四节课 //////////////////////////////////////////////////////////////////////
// 代码如何执行的
1 先全部检查代码的语法错误
1.5:预编译阶段: 函数声明会整体提升,变量申明提升
2 解释一行 执行一行
2 解释一行 执行一行