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

day034: 谈谈JSthis理解

其实JSthis是一个非常简单东西,只需要理解执行规则就OK。 在这里不想像其他博客一样展示太多代码例子弄得天花乱坠, 反而不易理解。...this相当于全局上下文情况。 3. 对象.方法形式调用 还是刚刚例子,我如果这样写: obj.a(); 这就是对象.方法情况,this指向这个对象 4....DOM事件绑定 onclick和addEventerListener this 默认指向绑定事件元素。 IE比较奇异,使用attachEvent,里面的this默认指向window。...5. new+构造函数 此时构造函数this指向实例对象。 6. 箭头函数? 箭头函数没有this, 因此也不能绑定。...a,a现在绑定着obj, 因此箭头函数this是obj 优先级: new > call、apply、bind > 对象.方法 > 直接调用。

36610

聊聊 Vue.js 框架理解

分享目标: 了解 Vue.js 组件化机制 了解 Vue.js 响应式系统原理 了解 Vue.js Virtual DOM 及 Diff 原理 分享keynote:Vue.js框架原理剖析.key...那怎么理解渐进式呢?渐进式含义:强制主张最少。 ?...可以这么理解,当我们对数据进行赋值时候,Vue 告诉了所有依赖该数据模型组件,依赖数据有更新,需要进行重渲染了,这个时候,组件就会重渲染,完成了视图更新。...patch Vue.js 内部 diff 被称为patch。其 diff 算法是通过同层树节点进行比较,而非树进行逐层搜索遍历方式,所以时间复杂度只有O(n),是一种相当高效算法。 ?...Vue.js 实现了一套声明式渲染引擎,并在runtime或者预编译时将声明式模板编译成渲染函数,挂载在观察者 Watcher ,在渲染函数(touch),响应式系统使用响应式数据getter方法观察者进行依赖收集

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

是否JSGenerator及协程真正理解?

生成器(Generator)是 ES6 新语法,相对于之前异步语法,上手难度还是比较大。因此这里我们先来好好熟悉一下 Generator 语法。 生成器执行流程 什么是生成器函数?...生成器实现机制——协程 可能会比较好奇,生成器究竟是如何让函数暂停, 又会如何恢复呢?接下来我们就来其中执行机制——协程一探究竟。 什么是协程?...协程是一种比线程更加轻量级存在,协程处在线程环境,一个线程可以存在多个协程,可以将协程理解为线程一个个任务。不像进程和线程,协程并不受操作系统管理,而是被具体应用程序代码所控制。...协程运作过程 那你可能要问了,JS 不是单线程执行吗,开这么多协程难道可以一起执行吗? 答案是:并不能。一个线程一次只能执行一个协程。...比如当前执行 A 协程,另外还有一个 B 协程,如果想要执行 B 任务,就必须在 A 协程中将JS 线程控制权转交给 B协程,那么现在 B 执行,A 就相当于处于暂停状态。

88930

JS篇(025)-松散类型理解

参考答案: JavaScript 变量为松散类型,所谓松散类型就是指当一个变量被申明出来就可以保存任意类型值,就是不像 SQL 一样申明某个键值为 int 就只能保存整型数值,申明 varchar...一个变量所保存值类型也可以改变,这在 JavaScript 是完全有效,只是不推荐。...相比较于将变量理解为“盒子“,《JavaScript 编程精解》中提到应该将变量理解为“触手”,它不保存值,而是抓取值。这一点在当变量保存引用类型值时更加明显。...JavaScript 变量可能包含两种不同数据类型值:基本类型和引用类型。基本类型是指简单数据段,而引用类型指那些可能包含多个值对象。

23420

JS篇(016)-闭包理解?优缺点?

答案: 概念:闭包就是能够读取其他函数内部变量函数。 三大特性: * 函数嵌套函数。 * 函数内部可以引用外部参数和变量。 * 参数和变量不会被垃圾回收机制回收。...优点: * 希望一个变量长期存储在内存。 * 避免全局变量污染。 * 私有成员存在。 缺点: * 常驻内存,增加内存使用量。 * 使用不当会很容易造成内存泄露。...xiaoming 虽然 sayHi 函数已经执行完毕,但是其活动对象也不会被销毁,因为 test 函数仍然引用着 sayHi 函数变量 name,这就是闭包。...但也因为闭包引用着另一个函数变量,导致另一个函数已经不使用了也无法销毁,所以闭包使用过多,会占用较多内存,这也是一个副作用。...解析: 由于在 ECMA2015 ,只有函数才能分割作用域,函数内部可以访问当前作用域变量,但是外部无法访问函数内部变量,所以闭包可以理解成“定义在一个函数内部函数,外部可以通过内部返回函数访问内部函数变量

24110

谈谈JVM主要GC算法理解

有位工作五年小伙伴面试被问到JVM相关问题,说请你谈谈JVM主要GC算法理解,我给大家分享一下我理解。...它是把内存分为两等份,每次只使用其中一份,等到正在使用这部分内存满了之后,就会标记出存活对象,然后把存活对象拷贝到另一部分闲置内存,那留在另一部分内存对象,会全部被垃圾回收器回收。...那么,原来空闲内存空间就会变成使用状态,而原来使用内存空间会被闲置出来继续使用。这就是标记复制算法一次完整GC。然后,一直重复这个循环。...3 分代回收 因为Java对象基本上都是临时对象,很快就会被回收。所以,JVM内存是分代设计,根据对象在内存存活时间,分为年轻代、老年代和永久代。...好了,以上就是我垃圾回收算法理解。 另外,5/6/7月份资料文档已打包,包含如下↓(还在持续更新!): ①100道最新大厂经典面试题解析资料文档! ②20万+字Java面试题解析和配套答案!

18520

说说索引理解

2 索引分类 我们经常从以下几个方面对索引进行分类 从数据结构角度索引进行分类 B+tree Hash Full-texts索引 从物理存储角度索引进行分类 聚簇索引 二级索引(辅助索引) 从索引字段特性角度分类...因为这些原因,B+tree索引要比Hash表索引有更广适用场景。 物理存储角度看索引 MySQL两种常用存储引擎索引处理方式差别较大。...ICP开启时执行计划含有 Using index condition 标示 ,表示优化器使用了ICP对数据访问进行优化。 如果对此感兴趣去查阅对应官方文档和技术博客。...这次我们简化来理解,不考虑ICP对数据访问优化, 当关闭ICP时,Index仅仅是data access一种访问方式,存储引擎通过索引回表获取数据会传递到MySQL Server 层进行WHERE...前缀索引 前缀索引是指字符类型字段前几个字符或二进制类型字段前几个bytes建立索引,而不是在整个字段上建索引。

55940

谈谈索引理解

在日常开发,mysql存储引擎默认是用innoDB,存储引擎分为innoDB,myISAM,memory,innoDB支持事务,myISAM不支持事务,memory是在内存,不存储在磁盘,所以memory...查询缓存时候如果sql完全一致,不管从哪个客户端发来sql,会直接从缓存查询,就没必要进行下面的操作,但sql里面如果有一点不一样,或者用了函数,比如now()日期等,也会放弃缓存。...聚簇索引又称为主键索引,二级索引就是其他列组成索引,复合索引是由多个二级索引组成,有最左原则,最左原则是当范围查询时候,必须满足最左边索引列是等值。...主键索引和二级索引有两个不同b+树,主键索引里叶子节点存储了所有的用户记录真实数据,非叶子节点存储是页码和主键id,二级索引存储是索引真实数据,当用覆盖索引查询时候,直接查询二级索引b+树就能返回数据给用户...,但如果select查询数据里面还有不是索引列,这时候查询是先通过二级索引b+树查询,之后再通过查询id,回表查询主键b+树。

27020

谈谈MVCC理解

MVCC也是一道非常高频面试题,今天我花两分钟时间给大家梳理一下。另外,我花了1个多星期把往期面试题解析配套文档准备好了,想获取小伙伴可以在我煮叶简介中找到。...1、什么是MVCC MVCC是为了解决事务操作多线程并发安全问题无锁并发控制技术,它全称是Multi-Version Concurrency Control,中文翻译过来就叫多版本并发控制,简称...2、为什么需要MVCC 对于MVCC理解,可以根据数据库三种并发场景来分析。 第一种是读和读并发,就是两个线程A和B,同时进行读操作,这种情况下不会产生并发问题,也不需要并发控制。...第三种是写和写并发,也就是两个线程A和B同时进行写操作,这种情况下可能出现数据更新丢失问题 MVCC相当于是为每个修改保存⼀个版本,版本与事务时间戳关联,读操作只读该事务开始前数据库快照。...它是通过数据库记录隐式字段Undo日志、Read View来实现

46310

简述ioc理解_剩余价值理解总结

(三)理解IoC和DI关系 二、IOC容器初始化理解 三、DI依赖注入理解 参考书籍、文献和资料 ---- 当前没有去添加对应源码,只是自己一些总结,可能理解有错误或不到位,还请指出。...一、IOC和DI基本认识 (一)理解IoC,即“控制反转” 在Java开发,Ioc意味着将你设计好对象交给容器控制,而不是传统在你对象内部直接控制。...二、IOC容器初始化理解 IOC容器初始化基本步骤主要是两个方面: 初始化入口由容器实现refresh()方法调用来完成。...如果说在createBeanInstance这个方法在创建Bean时候它会去检测依赖关系,会去检测构造器。...为什么会抛出异常,因为,走getBean时候他会去从单例缓存池中去拿,因为这里Bean还没有被创建好。自然不会被放进缓存,所以它是在缓存拿不到B对象。反过来也是拿不到A对象

46720

说一说 Kafka ISR 理解

1、ISR 是什么 首先,ISR 全称叫做:In-Sync Replicas (同步副本集), 我们可以理解为和 leader 保持同步所有副本集合。...3、为什么要设计 ISR 机制 在一些中间件,都有副本概念,在不同场景下写入数据时,要求写入副本个数也不尽相同。...例如 zk 要求写入节点个数大于一半才算成功,或者有些要求高可靠性场景,规定写入所有副本才能算成功。...补充:我们 ISR 是动态伸缩,可能出现 follower 全部都挂了,ISR 只剩下 leader,那么此时设置 acks=all 就等价于 acks=1 了,这样就会对高可靠性要求场景产生危险...如果设置为 2,一旦 ISR 个数小于 2,那么就不再提供写服务,牺牲一定可用性,来保障这种高可靠场景需求。

1.1K30

理解jsnew

new 操作符 在有上面的基础概念介绍之后,在加上new操作符,我们就能完成传统面向对象class + new方式创建对象,在Javascript,我们将这类方式成为Pseudoclassical...基于上面的例子,我们执行如下代码 var obj = new Base(); 这样代码结果是什么,我们在Javascript引擎中看到对象模型是: ? new操作符具体干了什么呢?...成员对象 第三行,我们将Base函数对象this指针替换成obj,然后再调用Base函数,于是我们就给obj对象赋值了一个id成员变量,这个成员变量值是”base”,关于call函数用法,请参看陈皓...__特性,toString这个方法也可以做新对象方法被访问到。...于是我们看到了: 构造子,我们来设置‘类’成员变量(例如:例子id),构造子对象prototype我们来设置‘类’公共方法。

3.3K40

springboot框架理解_谈谈springmvc理解

用我的话来理解,就是 Spring Boot 其实不是什么新框架,它默认配置了很多框架使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。...引入 Web 模块 1、pom.xml添加支持web模块: org.springframework.boot...spring-boot-starter-web pom.xml文件默认有两个模块: spring-boot-starter...热启动在正常开发项目中已经很常见了吧,虽然平时开发 web 项目过程,改动项目启重启总是报错;但 Spring Boot 对调试支持很好,修改之后可以实时生效,需要添加以下配置: <dependencies...如果使用java -jar启动应用或者用一个特定classloader启动,它会认为这是一个“生产环境”。

58410

谈谈Spring MVC九大组件理解

一位应届毕业生被问到这样一道面试题,说谈谈Spring MVC九大组件理解。 今天,我给大家分享一下我理解。...ENTER TITLE 主要用于拦截不同异常个性化处理,Spring可以给不同异常配置不同ModelAndView,HandlerExceptionResolver根据异常类型,将处理封装为一个...以上就是我Spring MVC九大组件理解。...ENTER TITLE 需要注意是ModelAndView和View并不属于MVC九大组件之中,ModelAndView只是ViewName和Model封装,然后作为返回值把信息反馈给用户。...而View只是模板文件封装,它是用作参数来传递。 我是被编程耽误文艺Tom,如果我分享有帮助,请动动手指分享给更多的人。

39320

面试商业思维:如何展示业务理解

面试商业思维:如何展示业务理解 摘要 面试不仅仅是技术能力考察,商业思维在当今职场中越来越受到重视。本文将深入研究如何在面试充分展示业务理解和商业思维。...提高工作效率:业务理解能帮助你优先处理更重要任务。 商业思维基本构成 市场理解:知道产品或服务在市场定位。 战略规划:长期和短期业务目标。 客户洞察:了解客户需求和痛点。...案例分析:使用实际业务问题来展示商业思维。 数据驱动:使用数据支持观点。 实用建议:提供可以立即执行业务优化建议。 工具和技巧 SWOT分析:分析公司优势、劣势、机会和威胁。...,还需要能用数据和实例支撑观点。...在面试展示这些能力,将大大增加你成功应聘机会。

5410

来讲讲ThreadLocal理解

前言 面试时候被问到ThreadLocal相关知识,没有回答好(奶奶,现在感觉问啥都能被问倒),所以我决定先解决这几次面试中都遇到高频问题,把这几个硬骨头都能理解透彻说出来了,感觉最起码不能总是一轮游...ThreadLocal变量是在每个线程独立存在,当多个线程访问ThreadLocal变量时候,其实都是访问自己当前线程内存变量,从而保证变量线程安全。...因为是放到了当前执行线程,所以ThreadLocal变量值只能当前线程来使用,从而保证了线程安全(当前线程子线程其实也是可以获取到)。...,所以说,ThreadLocal存放数据其实都是放到了当前执行线程一个变量里面了。...Key,以及Key设置成弱引用。

30820

numpyaxis理解

axis在Pythonnumpy库是一个基本概念,出现非常多,特别是在函数调用、合并数据等操作时候,本文axis作用和规律做一下梳理,加深Pythonnumpy库axis理解。...axis作用在numpy,有很多函数都涉及到axis,很多函数根据axis取值不同,得到结果也完全不同。可以说,axis让numpy多维数组变更加灵活,但也让numpy变得越发难以理解。...这里通过详细例子来学习下,axis到底是什么,它在numpy作用到底如何。...可以总结为一句话:设axis=i,则numpy沿着第i个下标变化放下进行操作。这是非常重要理解了这个也就理解了axis作用:表示数组维度。...那么在函数引入axis也就是表示,axis所在维度数据进行处理。

10510
领券