记录

作者: 臭臭的胡子先生 | 来源:发表于2023-03-23 16:20 被阅读0次

1.输出结果

var a = {n: 1};
var b = a;
a.x = a = {n: 2};
console.log(a.n,b.n)
consolg.log(a.x,b.x)
或
var a = {n: 1};
var b = JSON.stringify(a);
a.x = a = {n: 2};
console.log(a.n,b.n)
console.log(a.x,b.x)


第一种结果:
2,undefined
undefined,{n:2}
第一种结果:
2,1
undefinex,undefined

解释:
var b = a; 对象存贮在堆内存,a和b同时引用 {n:2}
赋值操作为从左到右操作,但是 . 的优先级要高于 =
所以先执行a.x时,此时a和b的共同索引为{n:2;x:undefined},
然后执行a = {n:2},
a的引用改变,指向了新对象{n:2},而b依然指向的是旧对象。之后执行a.x = {n:2}的时候,并不会重新解析一遍a,而是沿用最初解析a.x时候的a,也即旧对象,故此时旧对象的x的值为{n:2},旧对象为 {n:1;x:{n:2}},它被b引用着。
后面输出a.x的时候,又要解析a了,此时的a是指向新对象的{n:2},而这个新对象是没有x属性的,故访问时输出undefined;而访问b.x的时候,将输出旧对象的x的值,即{n:2}

2.阻止程序执行

fn()
function fn() {
  console.log(1)
  arrest()
  console.log(2)
}
function arrest() {
   console.log('阻止执行这里') 
}
/*
   在function 内 通过 return false 或者 throw抛出错误 可以直接阻止
   try{}catch{}结合  throw '错啦' 抛出错误来阻止
*/
try {
  fn()
  throw '错啦' 
} catch(e) {
   console.log('终止')
}

3.数组转换

 var obj = [
    { level:3, name: ‘朝阳’ },
    { level:1, name: ‘中国’ },
    { level:2, name: ‘北京’ },
 ]
 转换为: 
 var obj = {
     level: 1,
     name: ‘中国’,
     child: {
         level: 2,
         name: ‘北京’,
         child: {
             level: 3,
             name: ‘朝阳’
         }
      }
    }

vue 封装组件,写一个自己封装过的组件,可简化,表明思路即可

  1. 下面方法执行结果是?
    function fn() {
    setTimeout(() => {
    console.log(1)
    }, 1000)
    new Promise(function(resolve) {
    console.log(2);
    resolve();
    }).then(function() {
    console.log(3)
    })
    }

什么是Virtual DOM 和 Snabbdom?
https://www.jianshu.com/p/1f1ef915e83e

如何深度掌握 Virtual DOM 源码结构以及核心函数实现?

patch 函数以及 Diff 算法的整个实现过程是怎样的?
彻底搞定 Virtual DOM 中的模块机制。
响应式数据的优势是什么?是如何实现的?
如何使用 Observer 将数据转换成响应式数据?
如何使用 Dep 收集依赖、发送通知?
如何掌握用 Watcher 监听数据,自动更新视图?
掌握服务端渲染(SSR)核心解决的问题
掌握使用 Nuxt.js 框架开发的最佳实践
掌握 Nuxt.js 框架使用中的 SEO 优化处理
掌握同构开发模式以及同构应用中的状态激活
了解同构类型应用的发布与自动化部署

相关文章

  • 记录记录再记录

    先发个标题 明天再补上

  • DNS服务记录类型

    DNS记录类型包含:A记录、AAAA记录、CNAME记录、MX记录、NS记录、TXT记录、SRV记录、URL转发。...

  • 记录,记录

    今天是3月18日,我上网搜了一下,历史上的今天发生了很多事,觉得非常不可思议。 有两个事件大家应该都能比较熟悉:第...

  • 记录,记录

    2020.03.12 今天这个日子总觉得需要留下点什么。 今天BTC最低触至5200u,不行,暂停一下,先把交易所...

  • 记录记录

    时间好快,公休瞬间结束!这个公休我经历了什么?感觉就没有休息。 这段时间确实经历了很多。有家事,有其他事...

  • 记录没有记录的记录

    昨夜 凝望息屏的手机 如同熟睡的恋人 盼她醒以拥抱,却又不忍惊扰 “砰,砰,砰” 雨骑在风的肩上 兴冲冲地拍着窗门...

  • 初心

    创作,为了记录,记录生活,记录心情,记录回忆……

  • 至情至性的散文

    特别渴望写出至情至性的散文。 ——记录青春、记录梦想、记录人生感悟、记录成长历程、记录心灵之旅、记录亲情、记录迷茫...

  • 几种域名解析方式

    主要有A记录、MX记录、CNAME记录、NS记录、TXT记录 A记录A代表Address,用于指定域名对应的IP,...

  • 常见域名解析梳理

    一、常见域名解析的方式: A 记录、CNAME 记录、MX 记录、NS 记录、TXT 记录 1、A 记录 将域名指...

网友评论

      本文标题:记录

      本文链接:https://www.haomeiwen.com/subject/npxqkltx.html