JonyYu

Results 65 comments of JonyYu

> > 它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知。 > > 对观察者模式这一说法存疑,我的理解 EventEmitter 一边负责注册事件监听,一边负责触发事件,并没有监听到对象发生改变从而使得所有依赖它的对象得到通知,我理解有误吗 那你要看看其他监听者对象是不是监听的同一个被监听对象实例。

> 你好!vw和vh我是用设计稿的宽和高来计算元素的值,写在页面里面, > 例:24(元素)÷750(设计稿)×100(转换vw)=3.2vw, > 高度也是这样计算的,chrome浏览器vw宽度是没有问题, > vh高度却比设计稿少三分之一请问你知道为什么吗? vw和vh都是根据视口来确定实际像素的,视口上的宽度和高度比例不一定是1:1 的,而且一般来说,vh和vw不用同时使用,使用vw一般就满足移动端适配的要求了

> 有个疑问, 请问`let a_Position = gl.getAttribLocation(shaderProgram,'a_Position')`这一行代码的作用是? 获取着色器对象中a_Position变量的引用,就像拿到某个变量的地址,然后才可以给这个变量赋值

> 想问一下如果是画点,是不是执行一次定点着色器,然后就执行片元着色器,然后画线是执行两次顶点着色器,然后再执行片元着色器,画三角形是三次这样类推 是可以这么认为。也可以将顶点放在缓冲区变量中一次性执行 ,这种是最常见的做法。比如在缓冲区放置3个点,然后按逻辑取出来就可以一次性绘制,不用三次,就能绘制一个三角形。总之顶点着色器跟位置有关,片元着色器跟每个片元颜色插值有关。

> > > 想问一下如果是画点,是不是执行一次定点着色器,然后就执行片元着色器,然后画线是执行两次顶点着色器,然后再执行片元着色器,画三角形是三次这样类推 > > > > > > 是可以这么认为。也可以将顶点放在缓冲区变量中一次性执行 ,这种是最常见的做法。比如在缓冲区放置3个点,然后按逻辑取出来就可以一次性绘制,不用三次,就能绘制一个三角形。总之顶点着色器跟位置有关,片元着色器跟每个片元颜色插值有关。 > > 你说的一次性执行 其实也是要先从缓冲区取出三个顶点,然后执行三次顶点着色器才能执行片元着色器呗 你可以这么理解。

> 还以为给出了子路由渲染时间的无入侵上报方式。。。。 你看上一篇文章就是介绍切换路由时的,无痕上报

> 如果需要上报切换路由情况下每一个子页面重新render的时间,需要自定义上报 > 请问如何自定义上报呢? 这个就比较复杂了,推荐可以结合react或者vue生命周期来搞,在重新update的时候打点几个时间,然后在didUpdate的时候上报。如果不结合MVC框架的生命周期,原声dom的话有一些render的算法

> 路过..第一个列子好像有一点点不合适..就是那个log的列子... > 实际上装饰器是在 const p = new P() 的时候调用的 > 也就是说即使不运行p.foo() > console.log(P.prototype === temple) //true 依然成立 > 只看文章感觉 调用p.foo()的时候才会调用装饰函数,且每次都会,然而实际上并不是,文章会有所误导 > 只有创建的时候会调用一次,且后续再调用的时候不会调用装饰器函数 > 如果你同时装饰一个类和类内的函数的时候 > 装饰器的顺序其实是 > 类内函数的装饰器先运行 >...

> 官网上面说的类的装饰器的唯一参数是目标类的构造函数,而在你这里说唯一参数是目标类 > `类装饰器表达式会在运行时当作函数被调用,类的构造函数作为其唯一的参数。` 是不是有问题呢 嗯,确实是指修饰的类的构造函数。我这里的唯一参数是目标类,应该修正为唯一参数是目标类的构造函数。感谢指正

> 为什么可以用一个类继承另外一个类的构造函数呀 @forthealllight 类只能继承一个类吧,没有说类继承另一个类的构造函数这种说法