粉丝2714获赞2.4万

来吧,这是一个对象,这是另外一个对象,他们是具体的,看得见的、摸得着的,他们都叫做兔子。兔子是一个概念,他看不见、摸不着,他是所有这些具体东西的统称。那么思考一个问题,为什么 要搞出这个概念出来呢?没有这个概念行不行啊?他是虚的呀,他不是实际的东西啊。那为什么需要他呢?如果说你把内这个概念给去掉了,不要说程序了,现实世界全乱套了。那以后你看到这个玩意有什么描述呢?你不能说他是兔子啊,没这个概念呢,你就只能说,哎,我看到一个东西挺好玩的啊,长耳朵,大眼睛,蹦蹦跳跳真可爱,爱吃萝卜爱吃菜,行了, 还挺可爱的,是吧?然后将来呢?你又看到一个东西,没有兔子的概念啊,你又怎么描述呢?你又得把刚才那些话又全部得说一遍。那我们与其去描述这些具体的事物,而这些具体的事物数量即非常之大,无穷无尽,我们还不如 把它们分个类,我只要去描述这个类就可以了,我给这个类取个名字叫做兔子,我只要把兔子描述了,那么所有的具体的兔子就全部描述完了。所以类的作用是什么?类的作用是来降低我们的认知成本,我只要认识一个分类,我就把这一类的所有东西全部认知完了。所以说类的本质 就是用来描述具有相同特征的对象,他描述的是这些对象的相同特征。从刚才这句话中我们可以得到一个非常重要的信息,就是将来我们要描述特征,要描述在哪?要描述在那里边? 羊,兔兔有什么特征?毛发、颜色、体重、身高、年龄、能吃、能睡、能跳,这些都是兔兔的特征,我们在内中描述,而不是在对象中描述。那么进一步的面相对象呢?他认为某一个对象的特征,他分为两大类,一类呢是属性,一类是方法。属性是名词,你看这些 名词把它换成英文,方法是动词,他在我们的 gs 里边表现为函数,你看特征就定义好了。那么将来呢,我们去创建某一只具体的兔子,这一创建这个实际的具体的这个对象,他就会自动拥有所有兔子的特征, 它的属性,它的方法在圆形上。好,我们进一步来思考,虽然我们定义了这些特征,但是呢,我们还没有详细的去描述它。虽然每一只兔子它都具有毛发颜色,但它的颜色的值是不一样的呀,有些是白色,有些是这个是粉红色,它毛发的颜色不一样啊, 我如何来描述呢?我怎么在内中去描述不同兔子的特征呢?因为这个兔子的数量是无穷无尽的,我又如何来描述每一只兔子,他有不同的体重、身高、年龄。对于这个问题,变相对象是怎么看的呢?他认为我们在内中有两个时间节点可以来进行具体的描述,第一个时间节点叫做 对象创建时,第二个时间节点是是动作产生时。我在内中定义的这些方法指的是兔子他拥有某一种能力,有这个能力他并不一定会去做,真正要去实施这些行为, 吃、睡、跳需要某一只具体的兔子去调用这个方法表示这只兔子去吃,这只兔子去睡, 那么我们就产生两个时间节点,一个是当对象产生的时候,我如何来描述他的具体特征,一个是某个动作发生的过程中,我如何来描述只有这两个时间点,那么在对象产生的时候, 他的描述行为称之为构造函数,表示某一个对象产生了,我们把描述特征这些事情写到这里,当我们的某一个对象去吃、去睡,做出某一些具体行为的时候,我们 把特征描述到这里,他会产生哪些逻辑?他会引发哪些变化?所以我们在内中进行描述,描述的是谁啊?描述的不是内,而是将来某一只兔子,某一只兔子诞生了, 某一只兔子在吃,因此我们就在这里边可能会需要知道那个某只兔子到底是谁?某只兔子创建了,因此呢,他有一个毛发颜色,某只兔子创建了,他会有一个体重,同理他会有身高和年龄。那么这个某只兔子在代码里面表现为 this, 它的含义非常的明显,就是告诉你哪只这只某只兔子在吃东西,吃了就长胖了,因此的体重增加。那么哪只兔子,这只某只兔子睡觉了,它体重也要增加,还加的多一点,哪只这只?这就是 this 的由来。而当我们去创 建一只兔子,或者让兔子去实施某一种行为的过程中,产生的一些未知信息就是参数。比方说我要创建一只兔子,我得知道这只兔子的毛发颜色,体重、身高,年龄这些信息,如果说我不知道的话,那么你就需要作为参数给我传进来, 那我们以后在创建兔子的时候,就会告诉他这只兔子是什么颜色,他的体重,他的身高,他的年龄, 当然这些并不是一定的,不是说你有多少属性,我都要传递多少个参数,一定要理解它的本质是什么,就是我要创建一个新的兔子。 如果说创建过程中我有一些未知的条件才需要作为参数。比方说我认为一个新的兔子诞生了,他就是零岁,因此呢,你年龄就不用穿了,懂这意思吧?所以在我们的面相对象世界里边,每一行代码他都有他的现实含义的, 只要能够理解类中的代码和现实事业的关联,你就能够深刻的理解面相对象。你看,我们就通过这个 rabbit 这个类描述了某一只兔子他的这些特征。由于我描述的是某一只,那是不是就描述了所有兔子啊? 比方说我这里新建一个兔子,那么在运行构造函数的过程中,他描述的就是这一个兔子。而我们将来再去新建另一个兔子的时候,在这个代码的运行过程中,他描述的又是这只兔子, 我们就可以通过这个类来诞生无数种兔子。每种兔子呢,他们拥有相同的特征,都有这些属性,但是呢,可能会拥有不同的特征值。就像这两只兔子都是兔子,但他们脑袋有大有小,耳朵有长有短 这样子。拥有相同特征,但是拥有不同特征值的这一系列对象,就构成了我们丰富多彩的程序事件。由于在内地 描述的是某一个对象的属性和方法,我们把这些属性和方法又称为对象属性对象方法,或者成为实力属性。实力方法,因为某个类的对象也称之为某个类的实力,叫 instance。 这单词什么意思啊?就是某一个概念下的具体的一个例子。 rabbit 是一个概念,它具体的某一个例子呢?就是一个实际的兔子。 只要实力这些成员虽然描述在那里边,但他们都是纯属于某一个具体的实力的。反复的去理解这一系列的逻辑。如果说你能听懂我上边说的这一系列的东西,那么恭喜你,你的思维成绩已经远超工作好几年的程序了,甚至后端程序了。

我的很多前段学员呢,都经常问我一个问题,说,袁老师你是怎么学习的?你脑袋里面怎么装了这么多东西?关于这个学习方法吧,其实每个人都不太一样,我这里呢可以给大家分享一下我的学习方式。但是我要首先声明啊,我的学习方式呢,并不一定适合你,你可以做一个参考,比方这两天呢,我正在看这个 p 五 gs 玩,也不需要把它学到多精通的程度。那么我首先问同学们一个问题哈,当你要学习一门新知识的时候,你首先要给自己确定一个学习目标,对吧?那目标是啥?你有一个学习目标才有一个使劲的方向吗?可能每个同学呢,学习目标都不一样啊,可能有些同学呢,是为了把它做成一个项目,或者是做出来各种各样的效果。 而我的学习目标是什么呢?当我拿到一个新东西的时候,他在我的脑海里边是一团雾,我看不清楚,我甚至都不知道这个东西是干嘛用的。我整个的学习过程就做一件事,我把它看清楚,我看的越清楚,那我对这个东西的理解就越深刻。无论我是去读一些博客呀, 文章啊,读官网啊,还是去跟着他的提示敲代码呀,或者是看他的 api 啊,或者是分析他的原理啊,都只有一个目标,把那团误看清楚。随着学习的过程,这团误呢,会慢慢的变得棱角分明, 开始是一团雾,后来呢变成了一个三百六十 p 的图片,然后呢变成一个七百二十 p, 然后呢变成四 k 八 k, 当这团雾变成了一个有足够高的分辨率的时候,那么你就对这个东西认识就越来越准确和深刻。 所以说我并不在乎说我得用这个玩意去敲什么代码,实际上我学东西,我很少去敲代码,我基本上不动的,我就站在那里看,一边看一边想,我也不在乎它里面用到了哪些函数,每个函数要标,要传什么参数,这个函数的名字是啥,我完全不在乎。 代码对我而言,他不是目的,而是为了去看清那个东西到底是啥的手段。如果说我需要敲代码,我才能看清,那我就敲,我不敲代码我也能看清,我就不敲。一旦我把那个东西看清楚了过后,如果说达到了一个足够高的分辨率,那么这个东 东西的所有问题我全能解决,尽管我可能一行代码都没敲过。这就是平时我遇到了很多同学觉得神奇的现象。就是有些同学呢,在公司里边用到了一些奇奇怪怪的第三方库,我没有用过。然后这些库呢,他在开发过程中产生了一些 bug, 公司解决不了问题,跑到我这了,我说我没用过啊,那我看一下官网吧,我看能不能解决。很多时候,我只需要看他官网的描述性与 就一句话,他代码我完全不看,我都能知道他大概的错误发生在哪。因为你长期下去过后,你会练就这样的本事,比方说这个屁股有点结实。整个文档最重要的就是第一段话啊, 第二段话都没有那么重要了,第一段话看完了之后,他就不再是一团雾了,他就有了一定的清晰度了,这里边有很多的关键字,创意、艺术家、设计师、教育家、初学者。这段话就在大致的描述他在干什么?他在干什么?他在画图, 给谁画图,给那些搞艺术的,搞设计的,让他们使用一种编程语言来绘制出更丰富的图像,这就是他的作用。然后我就会进一步去想,那么如果说我要学习他,难度在哪呢?难度一定不在于这个库本身,难度 一定是我要对艺术有一定的了解,我要对设计有一定的了解,包括设计里边的什么滤镜啊,照声啊,纹理啊这些概念都一定要有了解,了解了这些东西过后,我们再来去用这个库,就可以做出非常丰富的效果。 然后接下来呢,我把这句话读完了之后呢,我发现了上面有这么一个东西,哎,他有几种形式,你看有 gs 的形式,有什么 py 就 pass 的形式,有安卓的形式,有 pad 形式, 然后在最前面加了一个 procession, 这就是典型的以一个工具为核心,然后呢应用到不同的编程环境。所以说 p 五点 js 啊,它背后是什么呢?背后是一个 procession, 那我就进去看一下 procession 到底是啥?哦,原来它是一个素描本儿,同时呢也是一个语言,目标都是为了绘图。 这段话里边也同时告诉你,他的应用范围是学生、艺术家、设计师、研究者和一些对艺术有兴趣爱好的人。那么看到这个时候 p 五点 j s 他是不是又变得清晰了一些?然后接下来我就可以去看他的各种入 门啊,代码啊这些乱七八糟的函数啊,无论是在 p 五点介是里边去看还是在 proc 里边去看,我都无所谓的,因为他们都在做同一件事,看哪一个都无所谓,都可以把那个模糊的影像变清晰。所以说我的脑袋里边装了多少东西呢?其实啥也没装,最终我脑袋里边存储的其实就是那个清晰的图案而已。 至于那些代码呀,函数啊,那些敲敲敲敲敲实现层面的东西,我一点都不 care, 是因为那些东西太容易了,你只要把图像变清晰了过后,哪怕你一行代码都没敲过,你都能实现各种复杂的功能,以及解决各种诡异的问题,因为整个这个技术,他的头脑都是清晰的 啊。但是呢,我这种方式呢,也不知道适不适合你啊,你可以去尝试一下,反正呢,挺适合我的,因为一直以来我学习任何东西都是使用这种方式,其实很多的搞科研工作的人都是用的这种思维模型, 思维模型的好处就在于,你长期这样训练下去以后,你看到任何一个新东西,你只需要看一下他到底是啥,你瞬间就可以联系起过往的经验,马上让这幅图像变得清晰,你甚至都不知道他里面代码怎么写,怎么去安装,啥都不知道,但是你都可以解决他里边很多很多的问题了啊,分享这么一个东西啊,也不知道对大伙有没有帮助。

学前端记不住咋办?我教你一个好办法,你压根别记,你看你不记的话就不存在记不住的问题对吧?这不是开玩笑啊,学程序是真的不用记,反正呢,我从读大学到现在啊,没有刻意的去记忆任何东西。 那你可能就想问了,老师不记的话,我怎么不停的敲代码呢,怎么幸福啪啪啪呢?啊,那我问你啊,你是怎么记住变量定义的?你是因为你去专门记得他,还是因为你经常使用, 明白了吗?我们能记住代码,并不是因为我们去记得他,而是因为我们经常使用他。因为你经常用,所以呢,你有比较深刻的印象。这就好比说你打字很熟练,不是因为你记忆力好,能够记得住每个字 拼音,又能记得住键盘的分布,是因为你天天上网聊天啊,疯狂输出就成为习惯。那么对那些不常用的东西呢?如果说开发遇到了去手册里面去查询, 就跟你读书的时候遇到生僻字,你查字典吗?对吧?查阅完了不就解决了吗?你自始至终不需要刻意的去记忆任何东西。 实际上呢,在真实的开发里边啊,我们有很多的时间都是在查阅手册,甚至呢是百度。所以呢,总结起来,学习开发,你不需要刻意的去记忆,更不需要因为没有记住啊,就有心理压力。 当你代码亮起来之后啊,你会发现那些常用的东西,你想忘都忘不掉。这就好比你喜欢玩游戏是吧,手放到键盘上,自动的就放到了什么 wasd 上面去了啊,这是一个非常自然的潜移默化的过程。

咱们前段啊,有一道面试题,年年都在问,次次都在考,就是做不对,我这里呢,就讲一次哈,你错过了我这个讲解的话,你可能就永远做不对了。 就是让你把一个 e s 六的类转换成 e s 五的格式。先看一个三十分的写法,这是很多同学都能写出来的,这个玩意呢,就对应到这个 constructor, 然后呢,这个玩意静态属性呢就对应到这,然后这个东西呢就对应到他的方法,这个答案三十分可以了。那么剩下的七十分是啥呢?我们一个点一个点的看 es 六的类啊,他跟那个 let 和 cons 的一样,是有作用于死区的。啥意思呢?就是你不能在初始化这个类之前去调用它, 比方说像这样他会给你报错,他告诉你在这个 product 初始化之前,你是不能访问他的,但是如果说你用这种写法的话,是不是在前边也可以访问啊?对吧?他不会报错, 为什么呢?因为函数有提升,那怎么办呢?我们无法在 es 五的环境下模拟 es 六的暂时性死区,但是呢,我们必须要考虑到这个问题,于是我们把这个代码呢改造成一个变量,然后使用立即执行函数,把这一块代码放到立即执行函数里边 后,函数返回什么呢?返回的就是个构造函数 product, 虽然这样子并不能完全模拟 es 六的暂时性死区,也就是说在前边呢,我们是可以访问到这个 product 的,因为变量他也会有提升,但是至少你访问到的是 on defend, 当你把它当成构造函数去调用的时候呢,他肯定会报错的,只是呢,报这个错误呢,跟这边有点不一样。好,你这样写呢,说明你考虑到了这个问题,加十分四十分的好,接着往后看,在 es 六里边呢,他的内啊,他只能通过六来调用,也就是说呢,你不能使用这种方式来调用,把它 当成一个普通的函数是不行的,他会给你提示一个错误,调用这个类的构造器啊,是不能没有六的,但是你不加处理的话,我们知道函数有二异性,那么这个地方呢,你就可以把它当成普通函数来调用是没问题的,你看又不报错了。 所以呢,我们需要解决这个问题,我们找到这个构造函数,在他的第一行就来判断,如果说你没有通过六来调用,我就给你抛出一个错误,那么我们如何来知道他到底有没有通过六来调用呢?当然,你这里可以使用 e s 六的六点 topic, 就可以非常简单的来完成判断,但是呢,由于这是 e s 六的语法, 既然都要降级成 es 五了,是吧,那就不能用它了。而且呢,像 instantial 这种 es 六的关键字呢,也不要用了,那没有这些东西,我们如何来判断它到底有没有用六呢?我们可以通过圆形,我们看一下你历史的圆形是不是不等于 product 的圆形。如果说你是通过六来 调用的话,这一条是一定成立的。当然根据 es 官方的建议啊,你不要直接使用这个属性,而应该使用 objects kids prototype。 好,有了这个约束之后啊,我们再来看直接调用它, 是不是给出了一个同样的错误提示了,当然这样做呢,也是一样,不能完全模拟 e s 六的情况,以后你可以这样做,这样做是不是就可以绕开检查了?但是在 e s 六里边这样做他也不行, 没法完全模拟啊,但是你必须要考虑到尽量的去模拟啊,于是呢,你完成这一点,又加了十分,五十分呢。好,接下来你会观察到在 es 六里边使用了访问器,是吧,那么这个访问器我还没处理啊, 按照我上一节课的知识啊,没看的朋友可以翻看一下啊。处理访问器还是比较简单的,我们只需要给他的原型上定义一个属性,属性的名字呢,叫做 total price, 把它变成一个 get。 哎,这样子呢,就定义好了一个访问器属性了。 不过呢,你要注意啊,在 es 六里边通过 production 内来创建的对象,他的访问器属性呢,会出现在两个地方,一个是在原型上,一个呢是在实力上,功效完全一样。所以呢,你还需要在实力上去做同样的事情, 像 this, 加入一个访问器属性,你把这些事情搞定了,你又加了十分,变成了六十分,及格了。好,继续。我们观察到 es 六的访问器属性,你看它的颜色跟上面三个属性的颜色不一样,是吧,这个单单的颜色意味着啥?意味着这个属性不可媒举。 也就是说什么呢,我这里有一个实力对象 p 啊,就是 product, 那么我通过这个 objects kiss 可以达到他的所有属性名,但是唯独没有这个,他不可媒举。因此呢,通过这个方法也好,通过否定循环也好,便利不到他。如果说你在 es 无力表不加处理的话,那肯定能便利到,所以我在定义这个房 分析属性的时候,还要给他加上一个 in number 为 force, 不可每一句,你看他完成这个工作需要很多知识的同学,好,你考虑到了这一点,又加了十分七十分了。好,接下来是方法,方法不是很简单吗?对吧,附着在圆形上就可以了, 但是在 e s 六里边呢,你看这个方法,它的名字呢,也是比较淡的颜色,它也是无法眉举的,也就是意味着 his 得到的是一个空数组, 媒举不出来他的方法。你要实现这一点呢,你需要在这边同样的使用 object depend property 给他定一个属性,这个属性呢,不能被媒举, 这个属性的值呢?是这么一个函数啊,你要用这种方式来定义方法。好,我们来试验一下啊,看 yes 五出来的是一个什么样的效果,也看上去有点意思了,是吧,都是不可悲剧的。好,你考虑到了这一点,于是呢,现在八十分了。接下来这个 increase 的函数在 yes 六里边,它只能当成谱 普通方法来钓友,他不能使用 new 的。啥意思啊?我们来看一下 yes you 啊,他这个 increase 方法,你得这样钓友没问题吧。但是如果你在前面加了一个 new, 他会报错的。 这个函数他不是一个构造器,你不能把它当成构造器那样的方式来调用。但是你不加处理的话,在一月十五里边,你就可以这样做,因为函数有二异性,你看是不是可以搞定。于是呢,在调用这个函数的时候,你也要加以约数,你要判断一下他是不是通过六来调用的,那么这里又怎么判断呢?那么我们要想一想了, 通过六的方式来调用这个函数,和通过这种方式来调用这个函数,他们的 z 有什么样的区别啊?什么区别? 这里的 z 指向谁指向的是这个,而这里的 z 指向谁指的是通过这个函数创建的实力,也就他们 z 的原型是不是还是不一样?我只要判断 z 的原型指向了这个函数的原型, 那么说明你在用六来调用啊。于是我判断一下,如果等于了这个函数它的原型,那么说明啥?说明你在用六来调用,但是问题在于,我怎么在这能够获取到这个函数的引用呢?是不是通过 product prototype increase? 好,咱们来试一下, 你去通过六来调用这个函数,就答应这个错误。好,那么现在呢?你就来到了九十分了,那么剩下的十分怎么办?剩下的十分我留着,因为他有可能会在这里考察一些继承的转换,用 es 六的继承又如何来降级为 es 五, 那么继承那一块是一个很大的知识啊,我们现在的还没有进行讲解,因此我留个口子,你至少根据目前在袁老师学到的知识,你要能够把这九十分全部拿到。

大多数的前端开发都会遇到这样的问题,我进到公司里面负责的业务比较单一,在我各项技能都熟能生小之后,我发现在工作中很难取得很大的进步,尤其是当我们去看到一些大厂的面试题的时候,对吧? 然后面试题你会发出这样的看开,那么我们前端需要掌握这些东西吗?面试照火箭工作拧螺丝,再加上如果你没有在一个前端氛围特别浓厚的技术的团队, 你自身的发展很容易遇到这种平静,很容易到达天花板。其实这个时候你的选择变得非常的重要, 如果没有人辅导你,没有人带你走出这个平静,你就会变得特别的迷茫,很容易产生这种焦虑,很容易想转型。当你在思考的这个过程当中,其实你就是在浪费你的职业的时间, 我该不该转行,对吧?我该怎么样去提升你找不到最佳的方法,就会造成一种现象,有可能你工作了三年,但是实际上你真正的所掌握的技能只有一年的工作的时间, 所以有前辈的这种指点,受前辈的熏陶,其实是性命的,能让我们少走很多的弯路。因此你加入一个非常重要的团队, 非常大的这种互联网公司,或者说去进入一个有这种技术氛围非常浓厚的群里面,其实是非常重要的, 但如果你没有机会,对吧?或者说你目前的能力还没有达到,能进入一个好的这种团队,好的这种互联网公司,其实你可以去关注一些他们这种优秀的潜能团队或者公司,他们的一些技术的文章、技术的博客,还有就再去看一些这种 前端大神们写的文章,就是你从他们的这种文章里,这种博客里面去感受一些优秀的团队、优秀的人他们怎么样去学习,包括他们关注的一些东西, 这样的话你间接的去了解,就优秀的人怎么做的,优秀的团队怎么做的,这也能让我们受益匪浅。

在项目管理这块,其实相关的一些经验啊,一些方法是掌握的不错的啊。建哥吹牛逼又得到了面试官的肯定,羡慕不来就快来学一下。你是 从什么时候去开始带团队的?二零年年底,对于这个团队管理啊,觉得带团队的困难的点在哪里?嗯,带团队的话,其实非常矛盾的点就是小公司的话算忠诚,大公司的话可能我们算基层管理, 其实难点的话就是一个承上启下的作用,要解决老板的矛盾,要解决员工的矛盾,员工想员工想要的和老板想要的可能不一样啊。明白,虽然说我们这个活吧,他是一个周期还比较长,比方说三个月啊,你是这个团队的负责人吗?嗯,要不然你来组织下来干这个事情啊,别人就十个人,那么这个时候,嗯, 你会怎么去做啊?其实就是说在软件管理领域啊,就是他有两种标准的管理方案啊,就是一种是瀑布流,一种是敏捷研发。如果说一个团队他是敏捷的,就不存在说有三个月的需求,一般来讲他是叫小不点赖,对吧?我的热, 任何需求我必须得拆成两周的版本去做,因为这样他有个好处是什么呢?老板一个月能看到两个小的版本,他就能完全的掌控这个项目的进度,那免得方向错了。你如果说我直接定一个三个月的计划,可能说客户那边想法有变化,老板的想法有变化,产品可能没考虑做,风险是非常高的。我们比较好的时间就是三个月的计划,把它拆分 啊,拆成三个版本或者六个版本去发,一个版本一个版本去发,这样的话风险就非常的好去把控啊。啊,那么就是做在过程中发现啊,进度有失控了,等于说你做到一个半月的时候,你本来原计划能干干百分之五十,但是实际情况可能只做到百分之四十啊,或者百分之三十, 那这个时候你会怎么办啊?会从哪方面去想办法解决啊?一般来讲在软件研发领域的话,他可能就是说这是个全新的东西,可能包括团队,包括你的自己本身,可能有些东西他是盲区。所以我觉得这个事情如果说一旦进洞落后,那每天啊叫每日帐会, 你的后台啊、产品经理啊,包括测试啊,几个人每天去过一下。那我们现在目前的这个情况啊,比如说在哪一端有卡点?那比如说我前端也好,后台也好,或者说产品测也好啊,运营测也好,测试测也好,哪个地方被卡住了,这种需求的话就通过每日账会去解决,每天大家去持续的去交流,那就不能 闭门造车。呃,我们做项目其实还有一个比较重要的,就是要去激发员工的积极性嘛。那你过往是怎么做的?我觉得就是员工来一个公司,他就是两个诉求嘛,一个就是挣钱, 第二个就是才能学到一些东西。所以我们得搞清楚就这个人,他到底你核心诉求到底是什么?作为管理者对吧?哎,那就会去考虑啊,这个事情,哎,我们现在所做的事情到底能不能给到你这些东西,这个可能还要跟老板去沟通。哎, 这个绩效上面的年终奖上面去激励啊。第二个的话,可能说我们可能公司现在没钱,但是我们有发展呢,对不对?未来可能发展的会很好,或者说你能学 到一些东西啊,我们是非常这个前沿的啊,我们在这个赛道里面能打到头部啊,我觉得就是你要么能够给现在,要么能够给未来,总能总要给一样嘛,就是现在大家都挺聪明的,挺好的啊,比方说你刚才就是这个项目啊,可能说做完了之后可能会给团队拿到一笔奖金啊,讲一讲你怎么去分配这个奖金 啊?可能说年终奖啊,比如说啊,谈心谈的是十六优秀员工,可能他能拿八个月年终奖啊,如果干的不好了,可能就拿一两个月,甚至没有他就差距会比较大。狼性文化啊,我是比较推崇这种,因为一个团队他的核心产出和成果就百分之八十的产出,绝对是一个团队中少部分 输出的,所以就是给这些少部分人很大的激励,我觉得就 ok。 在项目管理这块,其实虽然说只工作三四年啊,就是相关的一些经验啊,还有一些方法我觉得还是掌握的不错的啊。行,就是你现在也比较晚了,那我们就先聊到这里。好的好的好的好的好的,再见。拜拜。拜拜。

用这个方法可以快速提升 js 技能,一名合格的停端开发功能是花再多的时间用在研究 javascript 上面 都不为过,前提是你已经有了稳定的工作。如果你希望提升 gs 的功底,最好的方式就是深挖某些功能的实现,然后通过自己的理解呢去模仿。我们以 foe eat 这个数组高级函数为例,如果让你自己写一个 foe eat, 你是否有思路下手?第一步的话要看原有的方法是怎样的。 第二步的话,我们要通过仿照先定一个函数,然后接收两个参数,一个是数组,一个是回调函数,然后通过放循环便利并将每一个元素呢以回调函数的形式反而回来。此时我们调用函数就跟 fo 一直的效果一样。晚上九点来我直播间学前端干货。