首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

new Vue的时候到底做了什么

,当vm对象创建完成就可以通过vm对象访问到劫持的数据,比如data中的数据,methods中的方法等。...真实页面上的DOM的引用, //等等属性 }, { tag:"", id:, name:"Box3",$el:真实页面上的DOM的引用,//等等属性 }] }图片更多面试题解答参见 前端vue面试题详细解答什么是...进行判断,相同则调用patchVnode方法patchVnode做了以下操作:找到对应的真实dom,称为el如果都有都有文本节点且不相等,将el文本节点设置为Vnode的文本节点如果oldVnode有子节点而...主要做了以下操作:设置新旧VNode的头尾指针新旧头尾指针进行比较,循环向中间靠拢,根据情况调用patchVnode进行patch重复流程、调用createElem创建一个新节点,从哈希表寻找 key一致的...无template时拿el根节点的outerHTML去解析成render函数的所需的格式,并使用调用render函数渲染渲染的方式:无论什么情况,最后都统一是要使用render函数渲染

45740

重温HTTP,你到底做了什么?

HTTP 你到底是个什么鬼 HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。...这其实就是百度百科里面的精简化的内容,虽然说不上太细致,但是已经算是对 HTTP 做了一个大概的描述,我们接下来就从以下的几个方面来看一下这个HTTP 吧。...上图显示的就是一个简单的 HTTP 事务的报文,图中分为了2部分,请求报文和响应报文。...报文分为了三个层级,也算是三个东西,起始行,首部,主体,这三个东西我们必须得知道他们到底是干啥的,这样被面试官问到之后,至少能说点东西出来。...PUT:从客户端向服务器传送的数据取代指定的文档的内容。 DELETE:请求服务器删除指定的页面。

51220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    编译到底做了什么(***.c -> ***.o的过程)

    编译过程就是把预处理完的文件进行一系列词法分析、语法分析、语义分析及优化后生产相应的汇编代码文件,这个过程往往是我们所说的整个程序构建的核心部分。那么,这个核心部分究竟做了什么呢。...编译器做了什么?   从最直观的角度来说,编译器就是将高级语言翻译成机器语言的一个工具。   以 C语言为例,解释一下 ***.c -> ***.o 的过程。...需要注意的是:C语言的宏替换和文件包含等工作一般不是编译器做的,而是交给一个独立的预处理器。   有一个叫做lex的程序可以实现词法扫描。...简单的说,语法分析器生成的语法树就是以表达式(Expression)为节点的树。  如图 ?  ...目标代码优化器:对上述的目标代码进行优化。比如:选择合适的寻址方式,使用位移来代替乘法运算,删除多余的指令等。 对于我们的例子,有可能会优化成这个样子。 如图。 ?

    92350

    SQL Tuning Advisor(STA) 到底做了什么?

    本文主要是描述STA底层到底为我们作了什么使得SQL语句得以优化,同时演示绑定变量的情形下接受sql profile后,后续SQL是否采纳对应的sql profile的执行计划的情形。...最后给出了awr中的SQL通过STA tuning的脚本。...ID并将该ID的profile的信息存储到数据字典 -- 在category激活以及profile被启用的情形下,后续的SQL语句运行时如果得到的签名ID与存储到数据字典的ID相同,则SQL profile...--前面我们完成tuning后生成的report中提到了建议接受一个profile以及remove提示ordered --那我们看看接受sql profile之后Oracle到底干了什么 --从下面的查询可知...b、对于使用STA优化的SQL语句,SQL优化器会转换优化器的模式或移除添加hint(如本例是忽略hint)以实现优化。 c、SQL profile会纠正查询优化器对基数的错误评估。

    1.4K40

    Vue:npm run serve 到底做了什么?

    那么问题来了,当我们在命令框中输入这两个命令的时候: 这背后到底是做了什么 是谁帮我们做的这些事 准备工作 首先我们先来创建一个vue项目,这里需要说明一下,我们也可以不用非得创建一个vue的项目,...这背后到底是做了什么 我们在命令行中输入命令: npm run serve 看一下运行成功之后的提示信息: 有没有小伙伴想过这样的问题:为什么是运行npm run serve命令呢,这些命令在哪里呢...就是执行的的第一行吧。...是谁帮我们做的这些事 那么又是谁帮我们把项目运行起来的呢?...我们继续看:当输入 npm run serve回车执行的时候,npm会在项目的目录下找到 node_modules文件夹下的 .bin目录,把此目录添到系统的path环境变量下,执行完之后再把环境变量下的目录删除

    2.8K20

    执行vue create时到底做了什么

    但在执行 vue create project-name 创建 Vue 项目时,为什么命令不是以 node 开头呢? 这次就来浅浅的探讨一下,这条命令为什么 “不需要” 使用 node 来执行。...vue-cli 的版本。...vue-cli 到底安装在哪里了? 不管是使用 npm 还是 yarn 安装 vue-cli ,都离不开 node。 所以我到了 node 的安装目录下查看,果然发现了 vue 的身影。...这个文件有200多行代码,里面有详细配置 vue-cli 的各种指令和配置项。 但本文目的是解开为什么 “不需要” 使用 node 就可以执行 js 文件。所以在本篇不打算深入讲解里面的各项配置。...我们只需看该文件的第一行。 #!/usr/bin/env node #!/usr/bin/env 的意思是找到当前系统的全局环境,然后再加上 node 。

    48430

    HashMap的初始化,到底都做了什么?

    刘志航 1、HashMap初始化参数都是什么?默认是多少? 2、为什么建议初始化设置容量? 3、tableSizeFor方法是做什么的? 4、如何获取到一个key的hash值?及计算下标?...负载因子(loadFactor):是指哈希表的负载因子,当哈希表的长度大于capacity * loadFactor时会进行扩容,默认 0.75f。 2 为什么建议初始化设置容量? ?...这块涉及到HashMap的扩容,在《阿里巴巴Java开发手册》中已经说明了原因。主要是为了减少频繁的扩容造成的资源损耗。 3 tableSizeFor方法是做什么的?...+ 1 只需要考虑将 首个为1的最高位之后的值置为1,然后+1即可 为防止cap本来就是2的幂,则需要先进行减1操作 如图所示: ?...最后执行的结果进行加1即可。 4 如何获取到一个key的hash值?

    53040

    一次请求 SpringMVC 到底做了什么?

    0x0 先看名词 DispactherServlet:SpringMVC 的心脏,所有的请求从这里进入,也从这里出去 HandlerAdapter:请求处理器 HandlerMapping:请求和处理对象间的映射关系...按照顺序,第一个符合 MediaType 的解析器将被使用。..., merging it with static ,通俗讲就是将我们 Request 域或者 Session域 中的值(比如说请求参数回显)和视图解析出来的 ModelAndView 进行合并,这也是为什么我们再模板中可以轻松获得各种作用域值的原因...0x2 静态资源处理 SpringMVC 在视图处理器如果找不到合适的处理器的情况下,就会视该请求为静态资源请求并使用静态资源解析器解析该请求。...默认的静态资源目录如下,这也是为什么你将静态资源放在 resource 目录的时候不需要任何配置便可访问的原因 如果本文对你有帮助,欢迎关注并点赞~ 任何问题请评论区或者公众号留言。

    19020

    当我们创建HashMap时,底层到底做了什么?

    当我们调用map.put(key1,value1)方法向HashMap里添加数据的时候: 首先,调用key1所在类的hashCode()计算key1的哈希值,通过key1的hash值与数组的最大索引进行位运算以后...,得到了在 Entry数组中的存放位置: 如果此位置上的数据为空,此时的key1-value1添加成功。...如果此位置上的数据不为空(意味着此位置已经存在一个或多个数据),比较key1和已经存在的一个或多个数据的哈希值: 如果key1的哈希值与已经存在的数据的哈希值都不相同,此时key1-value1添加成功...需要注意的是,若原来位置已有数据,则此时key1-value1和原来的数据以链表的方式存储。...接下来的过程与jdk1.7相似。最后,当某一个索引位置上的元素以链表形式存在的数据个数>8且当前数组的长度>64时,此时此索引位置上的所有数据改为使用红黑树存储。

    45710

    POSTGRESQL analyze table 到底做了什么与扩展统计

    PostgreSQL 中对表的状态是有单独的命令来进行状态的收集的,到底怎么对表来进行状态的收集,并且都做了什么,我们怎么来依靠这些信息来对查询进行有益的帮助。这些都将在这篇文章里面探讨。...进一步讲,对于表中的某些列进行状态信息的收集. 并且对于表的分析,中外部的表也是被支持的,但也要看你的外部的表是否支持analyzed命令,部分不支持analyze的外部数据的封装器....这里的工作包含统计表中大部分的列的值的分布,并且可以通过直方图展示每列值的分布的情况。...而这些数据到底存到了哪里, pg_statistic, pg_statistic 是存储analyze 命令执行后或者autovacuum 执行后统计的内容存储到了这个表....那我们可以做什么以下以 pgbench_accounts 中有两个字段 bid和 abalance 那么我们需要对这个表经常的使用group by 语句 ,那我们可以通过以下的方式来给查询提供更有效的查询的统计信息

    3.2K30

    忠于职守 —— sysmon 线程到底做了什么?(九)

    因此这是一个不用和 p 结合的 m,它直接在后台执行,默默地执行监控任务。 接下来,我们就来看 sysmon 函数到底做了什么?...我们接着来看 startm 函数都做了些什么: // runtime/proc.go//// 调用 m 来绑定 p,如果没有 m,那就新建一个// 如果 p 为空,那就尝试获取一个处于空闲状态的 p,如果找到...p,那就什么都不做func startm(_p_ *p, spinning bool) { lock(&sched.lock) if _p_ == nil { // 没有指定...CPU 的寄存器 SP,达到切换栈的目的,下面这一条指令执行之前, // CPU 还是使用的调用此函数的 g 的栈,执行之后 CPU 就开始使用 g0 的栈了 MOVQ (g_sched...最后,调用 schedule() 函数进入新一轮的调度循环,会找出一个 goroutine 来运行,永不返回。 这样,关于 sysmon 线程在关于调度这块到底做了啥,我们已经回答完了。

    70730

    new Vue的时候到底做了什么_2023-03-13

    对象的过程,当vm对象创建完成就可以通过vm对象访问到劫持的数据,比如data中的数据,methods中的方法等。...什么是DIFF diff算法是一种对比算法。...进行判断,相同则调用patchVnode方法 patchVnode做了以下操作: 找到对应的真实dom,称为el 如果都有都有文本节点且不相等,将el文本节点设置为Vnode的文本节点 如果oldVnode...updateChildren主要做了以下操作: 设置新旧VNode的头尾指针 新旧头尾指针进行比较,循环向中间靠拢,根据情况调用patchVnode进行patch重复流程、调用createElem创建一个新节点...无template时拿el根节点的outerHTML去解析成render函数的所需的格式,并使用调用render函数渲染 渲染的方式:无论什么情况,最后都统一是要使用render函数渲染

    43210

    java.lang.String 的 + 号操作到底做了什么?

    str1 是存放在常量池的 "what a nice day" (非str2)也是存放在常量池的 下面我们看一下 + 操作做了什么事情,可以在Code中看到,该操作调用了 StringBuilder.append...return new String(value, 0, count); } 总结 通过类的字节码(3种骚操作,教你查看 Java 字节码)可以查看底层具体用什么方式实现,所以说虽然看似一个简单的String...还有,遇到一个问题,不能死记答案,有些人告诉你,+ 操作就是 new 对象,但是具体到底是不是或者为什么是有没有思考过呢?上文中如有错误,欢迎指出。...试一试 /** * 以下程序输出的结果是什么?..."what a nice day".equals(str2)); System.out.println("what a nice day" == str2); } /** * 以下程序输出的结果是什么

    34220

    OC底层探索03-常用的alloc,init,new到底做了什么?OC底层探索03-常用的alloc,init,new到底做了什么?

    前言:想必大家对于[xxx alloc] init]非常熟悉了,都知道是创建一个xxx的对象,但是OC底层到底做了什么?...->callAlloc->alloc,为什么会进入_objc_alloc而不是调用的alloc这就要涉及到llvm中的知识,后续有机会再来解释,可以简单理解为llvm做了一次类似于hook的操作,将alloc...allocWithZone是什么时候创建加载的呢?...init做了什么 - (id)init { return _objc_rootInit(self); } id _objc_rootInit(id obj) { return obj;...new做了什么 一般在开发中,初始化除了init,还会使用new,通过源码来看两者本质上并没有什么区别 + (id)new { retur [callAlloc(self, false/*checkNil

    80540

    String的+号操作到底做了什么事情

    下面我们看一下 + 操作做了什么事情,可以在Code中看到,该操作调用了 StringBuilder.append 方法 : invokevirtual #5 // Method...return new String(value, , count); } 总结 通过类的字节码可以查看底层具体用什么方式实现,所以说虽然看似一个简单的String问题,其实往深处挖掘还是考察了对生成的字节码的理解...还有,遇到一个问题,不能死记答案,有些人告诉你,+ 操作就是 new 对象,但是具体到底是不是或者为什么是有没有思考过呢?上文中如有错误,欢迎指出。...试一试 /** * 以下程序输出的结果是什么?...day".equals(str2)); System.out.println("what a nice day" == str2); } /** * 以下程序输出的结果是什么

    34110

    为什么有些程序员工资那么高?他们到底做了什么?

    加入程序员这个行业主要还是兴趣使然,对于薪资开始倒是没怎么介意,工作一段时间发现和别的行业比还是高一些,毕竟每种职业都有天花板,特别是一些基础行业工资到了一定层面就再也涨不上去了,所以很多在别的行业做了很多年的人开始琢磨着能不能做编程...为什么有些程序员要比一般的程序员要高? 1....就拿国内的高级程序员,所有承担的压力要比普通的程序员高得多,有句话说得好做的越做越容易出问题,但还是要坚持下去,就拿国内的程序员来讲累的能累死,闲的找不到合适的干。...就拿本人的职业经历来讲,刚入行的时候还能按点下班的,随着技术的能力的提升承担的东西也会越来越多,下班的时间越来越晚。 ? 2....很多职业可能累死累活一辈子也不能上万,在一线城市程序员就现在的消费水平起步过万是非常轻松的事情,程序员这个职业为什么工资上比别的职业高。

    91710

    白话详解TCP的三次握手到底做了些什么!!!

    通过这样的三次握手,客户端与服务端建立起可靠的双工的连接,开始传送数据。 三次握手的最主要目的是保证连接是双工的,可靠更多的是通过重传机制来保证的。...但是为什么一定要进行三次握手来保证连接是双工的呢,一次不行么?两次不行么?我们举一个现实生活中两个人进行语言沟通的例子来模拟三次握手。...乙心想:这什么人啊,得,我也回家吧,沟通失败。说明甲无法做出应答的情况下沟通失败。 如果甲也做出了正确的应答:我也吃了。那么第三次对话成功,两人已经建立起了顺畅的沟通渠道,接下来开始持续的聊天。...通过第二次和第三次的对话证明了甲能够听懂乙说的话,并且能做出正确的应答。 可见,两个人进行有效的语言沟通,这三次对话的过程是必须的。...同理对于TCP为什么需要进行三次握手我们可以一样的理解: 为了保证服务端能收接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客户端能够接收到服务端的信息并能做出正确的应答而进行后两次

    50120
    领券