IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript 高级程序设计第四章解读,总结。 -> 正文阅读

[JavaScript知识库]JavaScript 高级程序设计第四章解读,总结。

第四章 变量,作用域与内存

通过变量使用原始值

- 1. 原始值与引用值
    + 原始值: 最简单的数据
    + 引用值: 多个值构成的对象
- 2. 原始值有哪些
    + Undefined Null Boolean Number String Symbol
    + 访问时 直接访问存储在变量中的实际值
    + 由于JavaScript不允许直接访问内存,所以不能直接操作对象所在的内存空间。在操作对象时,实际上操作的式对改对象的引用,而非对象本身。
- 3. 动态属性
    + 只有引用值可以动态的增加或者显示的删除该属性
    + 而给原始值增加属性的时候,不报错,但是增加无效,打印时 : undefined
        + let name = "Nicholas";
          name.age = 19;
          console.log(age);  //expected output : undefined
- 4. 复制值
    + 原始值:利用赋值运算符便可进行
    + 引用值:简单的进行赋值,实现的是俩个引用值指向的是一块存储空间
- 5. 传递参数
    + 原始值传递参数和引用值传递参数都一样,都是传值。引用值也不是传引用:看一下例子:
        + function setName(obj){
            obj.name = "Nicholas";
            obj = new Object();
            obj.name = "Tom";
        }
        let persion = new Object();
        setName(persion.name);
        console.log(persion.name); // expected output : "Nicholas"
- 6 确定类型
    + typeof 确定原始值类型
    + instanceof 确定Object类型
        + console.log(person instanceof Object);
        + console.log(colors instanceof Array);
        + console.log(pattern instanceof RegExp);
        + instanceof 操作符检测任何引用值和Object构造函数都会返回true 若是检测到原始值,会返回false

理解执行上下文

- 1 执行上下文与作用域
    - 表示全局上下文的对象可能不一样,所有通过var定义的全局变量和全局函数都会成为window对象的属性和方法
    - 使用let 和 const 的顶级声明不会定义在全局上下文中,但在作用域解析上效果是一样的,上下文在其所有代码执行完毕后会被销毁,包括定义在它上面的所有变量和函数。
    - 每个函数都有自己的上下文,函数的上下文会被推到一个上下文栈上。在函数执行完,上下文栈会弹出该函数的上下文。
    - 作用域链:
        + 决定访问各级上下文中的代码在访问变量和函数时的执行顺序。
        + 如果上下文是函数,活动对象作为变量对象,活动对象最初只有一个定义变量:arguments 全局上下文中没有这个变量。作用域链中的下一个对象来自包含上下文,再下一个对象来自下一个包含上下文,依次类推,知道window上下文。
        + 内部上下文通过作用域链可以访问到所有父级上下文,而父级上下文不能访问自己上下文。
    - 作用域链增强:
        + 某些语句会导致在作用于前端临时添加一个上下文,在这个上下文执行后会被删除
        + try/catch 语句中的catch块
            + catch 会创建一个新的变量对象,这个变量对象会包含要抛出的错误对象的声明
            
        + with 语句
            + 会向作用域链前端添加指定对象
            + function buildUrl() {
                let qs = "?debug=true";
                with (location) {
                    let url = href + qs;
                }
                return ul;
            }

理解垃圾回收

- JavaScript是使用垃圾回收的语言,也就是说执行环境负责在代码执行时管理内
- 浏览器的发展史上,用到过两种主要的 标记策略:标记清理和引用计数
    + 标记清理 
    + 引用计数 
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:24:51  更:2021-08-01 14:25:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 14:04:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码