首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JS游戏编程基础】关于jsthis关键字理解

this关键字在c++,java中都提供了这个关键字,在刚开始学习时觉得有难度,但是只要理解了,用起来就方便多了,下面通过本篇文章给大家详解js里this关键字理解。...关于this,是很多前端面试必考题目,有时候在网上看到这些题目,自己试了一下,额,还真的错了!...接下来你谈谈我对它理解,也作为一个笔记,方便以后参阅。有不对地方,欢迎指出批评。 1. 不像C#,this一定是指向当前对象。 jsthis指向是不确定,也就是说是可以动态改变。...在函数自执行里,this 指向是 window 对象。 扩展,关于this,还有一个地方比较让人模糊是在 dom 事件里,通常有如下3种情况: 如下: 1....比如C++、C#和Java等都提供了这个关键字,虽然在开始学习时候觉得比较难,但只要理解了,用起来是非常方便和意义确定

3.1K101

理解jsthis

为什么使用this 如果没有this,那么我们代码会是下面的写法: 在方法中,为了能够获取到name名称,必须通过obj引用(变量名称)来获取。...但是这样做有一个很大弊端:如果我将obj名称换成了info,那么所有的方法中obj都需要换成info。...(编写位置)没有关系; 3.this绑定和调用方式以及调用位置有关系; 4.this是在运行时被绑定; this绑定规则 默认绑定 在独立函数调用情况下使用默认绑定 独立函数调用我们可以理解成函数没有被绑定到某个对象上进行调用...: 也就是它调用位置中,是通过某个对象发起函数调用。...这个和setTimeout源码内部调用有关; setTimeout内部是通过apply进行绑定this对象,并且绑定是全局对象; 案例二:数组forEach 数组有一个高阶函数forEach,用于函数遍历

3K30

关于架构理解

值得注意是4+1更大价值是提供了一套分析系统框架,实际上怎么呈现不同团队可能有不同形式。对于一个系统从不同视角看会得到不同理解,横看成岭侧成峰。...2.4  架构设计模式软件架构归根结底无非两种模式:从技术层面和业务功能层面来设计。在理解这两个之前想区分一下技术语言和业务语言:技术语言:是实现层面的。...技术人员要做是摆脱技术语言体系,走进业务体系,不能被技术语言限制住。从本质上来说技术是为了业务服务,所以理解业务第一,技术第二。对业务有了深刻理解,再转过来去用技术来实现业务。...———— James Lewis and Martin Fowler我理解是,微服务不在于微,微服务是一种理念,其表达是用一个服务来表达一个实体相关所有行为,某个实体与外部所有联系均通过该服务来发生...https://pubs.opengroup.org/architecture/togaf8-doc/arch/toc.htmlSOLD原则关于原则,看了很多次,是否真的理解了这些原则?

71410

关于缓存理解

关于缓存理解 为系统引入缓存理由 通常情况,在我们面临系统基础设施,例如数据库无法处理量级请求时候,总是会下意识使用缓存,这次我们以设计角度思考,在为你系统引入缓存之前,它是否真的需要缓存呢...缓存中最主要数据竞争来源于读取数据同时,也会伴随着对数据状态写入操作,而写入数据同时,也会伴随着数据状态读取操作。 针对前面所讲伴随读写操作而来状态维护,我们可以选择两种处理思路。...(关于Guava操作我之前有博客写过) 另一种是以 Caffeine 为代表异步日志提交机制。...这种机制参考了经典数据库设计理论,它把对数据读、写过程看作是日志(即对数据操作指令)提交过程。...这里你可以简单地理解为,缓存内部是使用多个 Map 来分段存储数据,并发级别就用于计算出使用 Map 数量。

35420

关于事务理解

事务概念 事务处理几乎是每一个信息系统中都会涉及到问题,它存在意义就是保证系统中数据是正确,不同数据间不会产生矛盾,也就是保证数据状态一致性(Consistency)。...关于一致性,我们重点关注是数据库状态一致性,分布式中,即将要讨论分布式共识算法时所说一致性,是不一样。...人们在探索这些事务方案过程中,产生了许多新思路和概念,我们一起探索同一个事例在不同事务方案中不同处理,以此来贯穿、理顺这些概念。 场景事例我先来给你介绍下具体事例。...,占用大量内存缓冲,无论何种理由,都决不允许在事务提交之前就开始修改磁盘上数据,这一点对提升数据库性能是很不利。...由于 Undo Log 加入,Write-Ahead Logging 在崩溃恢复时,会以此经历以下三个阶段: 分析阶段(Analysis):该阶段从最后一次检查点(Checkpoint,可理解为在这个点之前所有应该持久化变动都已安全落盘

36620

关于系统理解

1.1 系统概述随着人类发展,人们面对越来越多规模巨大、关系复杂、参数众多地复杂问题,系统论就是为了分析和解决这些问题而生。我们平时接触计算机系统包括软件系统本质上属于系统论一个范畴。...系统论是一门独立学科,经历了多年发展已经形成了体系化理论。 系统论里一些原则、理论、方法同样适用于计算机系统,计算机系统里遇到复杂性问题在系统论里肯定会有原则性指导。...从计算机系统出来,进入系统论层面,再回到计算机系统。仿佛上帝视角与人间视角来回切换。系统定义:系统由相互作用和相互依赖若干组成部分结合成、具有特定功能有机整体。...系统思考,区别于系统化思考,系统思考是要求我们把事情当做一各个个系统来看。系统整体不是系统部分之和,系统整体一定大于系统部分之和。 一个系统能支撑能力超越于系统组成之和。...1.2 系统三大基本特征:目的性:任何系统都是有一定目的。这里可以理解为业务系统边界。我们系统是为了做什么事而设立?能做什么事?不能做什么事?动态性:动态性说明系统会发展。

57510

jsDOM理解

try…catch try{}catch(e) {}finally{} Error.name六种值对应信息: 1. EvalError:eval()使用与定义不一致 2....URIError:URI处理函数使用不当 复制代码 es5严格模式 “use strict” 不再兼容es3一些不规则语法。使用全新es5规范。...DOM对象即为宿主对象, 由浏览器厂商定义,用来操作html和xml功能一类对象集合。 也有人称DOM是对HTML以及XML标准编程接口。...ie7以下版本中没有,非实时 .querySelectorAll() // css选择器 在ie7和ie7以下版本中没有,非实时 复制代码 DOM基本操作 遍历节点树: parentNode ->...->后一个兄弟节点 previousSibling->前一个兄弟节点 基于元素节点树遍历 parentElement -> 返回当前元素父元素节点 (IE不兼容) (以下IE不兼容指的是 9 以下)

4.2K30

关于EventLoop简单理解

个人博客网站欢迎交流:萤火之森:https://blog.xkongkeji.com EventLoop出现目的 js单线程 众所周知js是单线程,那为什么是单线程嘞,作为浏览器脚本语言,JavaScript...MutationObserver 接口,监听DOM节点发生改变时候,就会产生 DOM 变化记录微任务。...宏任务 渲染事件(如解析 DOM、计算布局、绘制) 用户交互事件(如鼠标点击、滚动页面、放大缩小等) JavaScript 脚本执行事件 网络请求完成、文件读写完成事件 执行顺序图解(图片来自网络) 个人理解...js会先执行主线程任务,遇到微任务就放进微任务队列,遇到宏任务就放入宏任务队列。...主线程代码执行完成后就会从微任务队列中去取微任务执行直到微任务队列清空, 微任务队列完成后就会从宏任务队列中取出宏任务执行,(个人理解:主线程代码就是第一个宏任务) 如主线程任务一般,遇到微任务放入微任务队列

8910

关于DLL注入理解

解析型可以在解释权解释之前做很多事情,解释之前代码不是二进制代码,而是解释器可以看懂代码,比较简单,也比较可行。 编译型则无法在编译前做任何事情,因为目标程序一般是第三方编译完成之后发布出来。...除非程序调用dll包含导出函数,我们可以实现函数地址替换。...即使采用MFC框架提供方式,也是对编译后程序无能为力,因为MFC框架也只是一段普通代码,并不是WIN API,无法获取OS执行过程中任何消息或者改变OS执行过程中任何操作。...Windows API中使用是句柄,C/C++中使用是指针。两者并没有什么关系。...MFC中对象既有指针,又有句柄,是因为这个对象留出了一个成员变量来存放WIndows窗体句柄(注意:windows窗体对象本身指针是无法获取,因为windows api只能获取窗体句柄)。

53520

关于矩阵理解基础

在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向量。它可以形象化地表示为带箭头线段。箭头所指:代表向量方向;线段长度:代表向量大小。...有向线段长度表示向量大小,向量大小,也就是向量长度。长度为0向量叫做零向量,记作长度等于1个单位向量,叫做单位向量。箭头所指方向表示向量方向。...向量模:向量大小,也就是向量长度(或称模)。向量a模记作|a|。 负向量:如果向量AB与向量CD模相等且方向相反,那么我们把向量AB叫做向量CD负向量,也称为相反向量。...零向量:长度为0向量叫做零向量,记作0。零向量始点和终点重合,所以零向量没有确定方向,或说零向量方向是任意。 相等向量:长度相等且方向相同向量叫做相等向量.向量a与b相等,记作a=b。...初等代数中,y=ax表示是x到y一种映射关系,其中a是描述这中关系参数。 线性代数中,Y=AX表示是向量X和Y一种映射关系,其中A是描述这种关系参数。

50710

关于JavaScript对象理解

对象 理解对象 ECMA-262把对象定义为:“无序属性集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序值。...对象每个属性或方法都有一个名字,而每个名字都映射到一个值。 我们可以把ECMAScript对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。...「实际开发中,修改属性默认行为场景很少,但学习属性行为 有助于 理解对象。」...「实际开发中,这个两个属性不是必须,看自己业务需求」 如果一个属性值变化,影响到另一个属性时候,就可以使用 settter getter 来实现。...要读取属性特性,必须使用ECMAScript5:Object.getOwnPropertyDescriptor() 来获取对象属性行为。

41550

关于电角度理解

大家好,又见面了,我是你们朋友全栈君。 1.机械角度和电角度 从电磁分布角度来看,永磁体(或励磁)产生磁场空间分布呈现周期性变化,一个周期为电角度360度。...2.校准电角度意义 2.1. 电机转动基本原理 同步电机转子是永久磁体,定子是通电线圈,根据高中学到安培定理,定子就是一个电磁铁。磁铁之间相互吸引或排斥就是电机能够转动原因。...由此可知,电角度校准目的是为了获得最大力矩转换效率。 2.3 电角度校准步骤 1)....定子磁场0度定位: 控制定子磁场到+/-90度方向, 由于磁场相互作用,转子磁场也会被拖动到和定子磁场同样方向。并此时记录编码器读数cnt0。此位置就是控制电机转动时定子磁场0度位置。...2).控制电机转动:用当前编码器实时读数cnt减去定子磁场0度编码器读数cnt0作为定子磁场角度。这样定子磁场和转子磁场始终正交,就能获得最大控制力矩。

1.6K30
领券