哔哔肾

哔哔肾 查看完整档案

北京编辑中国人民大学  |  财政金融 编辑美团  |  前端 编辑 juejin.im/user/578f2f2279bc44005f045c2a 编辑
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

哔哔肾 回答了问题 · 2018-02-07

js 多态如何理解,最好能有个例子

Rabbit.prototype.toString = function() {
  return `a ${this.type} rabbit`;
};

console.log(String(blackRabbit));
// → a black rabbit

This is a simple instance of a powerful idea. When a piece of code is written to work with objects that have a certain interface—in this case, a toString method—any kind of object that happens to support this interface can be plugged into the code, and it will just work.

This technique is called polymorphism.

调用同一个的方法,却能得到不同的实现和结果,这种现象就是多态。原因就是这个方法的作用就是调用其它方法,或者说这个方法将具体逻辑的定义权交给外部,自己只负责调用,而不考虑实现。

举例:只要部署了 iterator 接口的数据结构,都可以使用 for of 循环。for of 的设计就运用了多态的思想。

参考:《Eloquent JavaScript》chapter 6

关注 12 回答 7

哔哔肾 回答了问题 · 2018-01-16

有没有办法自定义 border 为 dashed 时的虚线间距?

可以的,用渐变

width: 100%;
height: 1px;
background-image: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%);
background-size: 8px 1px;
background-repeat: repeat-x;

关注 6 回答 6

哔哔肾 回答了问题 · 2017-11-07

解决手机端网页有什么下拉加载更多上拉刷新的插件吗?

better-scroll,滴滴前端老大写的

关注 3 回答 2

哔哔肾 回答了问题 · 2017-11-03

学习一门技术如何获得非文档类的帮助?

一、构建一套高质量的信息渠道
比如邮件订阅国外顶尖的技术周刊、关注国内顶尖开发者或团队的博客、专栏、微博、公众号,关注类似极客时间、掘金这种汇聚高质量信息的平台等。当构建起一套足够优秀的渠道来源后,高质量的信息就会源源不断的向你汇聚。

二、读高质量书
通常每个技术领域里最好的书不会超过三本,通过 Google、Amazon、知乎等搜索工具总能找到它们。

三、高质量的输出
包括写博客、答题、系统的知识总结

四、油管视屏
油管上关于技术的东西应有尽有,高质量的内容俯拾皆是

关注 8 回答 6

哔哔肾 回答了问题 · 2017-11-03

JavaScript prototype 中属性赋值为函数后有关 this 的疑惑

首先,“__proto__既然和obj同一层级的,那getSuperValue应该就和testValue是有同样的表现才对呀”,没有这种规则的。

其次,this 要么为 undefined,要么指向一个对象,只有这两种情况。所以不会指向构造函数。

当 this 指向一个对象时,具体指向谁,取决于函数定义和调用的方式,与定义在哪儿无关。

具体有六种情况,看这里吧

关注 5 回答 4

哔哔肾 回答了问题 · 2017-10-28

关于javascript函数和对象的问题?

中文看不懂的地方,建议看英文。《权威指南》虽然是淘宝团队翻译的,但某些地方也不是没有问题

关注 8 回答 4

哔哔肾 回答了问题 · 2017-10-28

React比Vue.js好在哪?

React 与其说是一种框架,倒不如说是一种开发范式。它的核心理念非常简单:

界面/视图就是数据结构的可视化表达
UI = f(data)

而界面/视图由组件组合而来
UI = f1(data) + f2(data) + f3(data) + ...

That's all.

React 扮演的角色就是上述公式中的 f,它完全是函数式的,组件就是函数,给它一个输入(传参),它就返回一个输出(UI)。只有理解了这种开发理念,用 React 才会得心应手。如果只是去学“语法”,仅满足于“能用”,React 确实会显得非常怪异而麻烦。

Vue 的核心理念与 React 其实是一致的,但在 API 的实现上 Vue 对于用户而言更加友好。不像 React,Vue 不会要求用户“Think in Vue”,因为不需要,Vue 是一个渐进式的框架,它并没有大幅改变用户原有的开发方式,它既可以作为插件植入老的 jQuery 项目,也可以作为整个项目的核心框架层。并且 Vue 提供了各种实用的 API,而 React 本身的 API 非常少,许多功能需要自行封装或引用现成的组件。

从能力上讲,两个框架其实差别不大,几乎不存在 React 能干而 Vue 干不了或 Vue 能干而 React 干不了的事,不都是 JS 嘛。不过 React 对于使用者的 JS 能力有一定要求,而 Vue 基本上跟 jQuery 一样前端入门一个月就开始学也没什么问题,以致于知乎上有人开始担心 Vue 大幅削弱了前端的门槛,降低了前端的水准。。。

在实际业务中,我个人更倾向于 Vue,理由就是简单,简单就是好。招人方便,就算不会,很快能上手,写出的代码就算渣,改起来也相对容易。滴滴、饿了么都是 Vue 的深度实践者,百度、京东也有相关实践,阿里直接与 Vue 合作搞了 weex,微信小程序的 API 几乎就是 Vue 的翻版。会用 Vue,同时就会了 weex 和小程序。做后台用
Element UI,简直找不到更好更高效的后台应用解决方案了。Vue 就是新时代的 jQuery,是广大中小型互联网公司的福音。

至于为什么有些团队选择 React,我个人猜测的原因是:首先他们有足够的实力;其次,决策者的精英主义情节让他们下意识的避免容易被认为“简单”的东西;第三,Vue 一开始是个人搞的业余项目,且比 React 晚了两年,还未得到足够的验证,而 React 出身不凡,并且在自家产品里有广泛实践。

总之,我看好 Vue。先学 Vue 再学 React,你会忍不住感慨:真是太麻烦了,太麻烦了。而先学 React,再学 Vue,你会忍不住感慨:真是太方便了,太方便了。

关注 27 回答 17

哔哔肾 回答了问题 · 2017-10-25

这段js代码怎么优化呀?

var txt = ['第二年', '第三年', '第四年', ...];
return txt.slice(0, Math.ceil(month / 12)).join(',')

关注 5 回答 5

哔哔肾 回答了问题 · 2017-10-24

解决如何用一句精炼的话来表述 Python 的闭包?

松本行弘对闭包的解释​​​:闭包和对象都是“数据与过程的结合”,对象是在数据中以方法的形式内含了过程,闭包则是在过程中以环境的形式内含了数据。

关注 10 回答 8

哔哔肾 回答了问题 · 2017-10-23

解决元素惯性抖动?是这么说的吧= =?

参考 animate.css

关注 9 回答 5

认证与成就

  • 获得 73 次点赞
  • 获得 9 枚徽章 获得 0 枚金徽章, 获得 6 枚银徽章, 获得 3 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-12-04
个人主页被 426 人浏览