最近在收集面试题的时候发现了一些考查prototype的题目,然而很多都是一知半解的看完了,今天就深入理解一下prototype和__proto__ 。

首先要明确的是:

  1. 在JS里,万物皆对象。方法(Function)是对象,方法的原型(Function.prototype)是对象。因此,它们都会具有对象共有的特点。即:对象具有属性__proto__,可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法。
    如:

在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。

以上是来自维基百科的名词解释,有点绕。简而言之,柯里化通常也称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果。
因此柯里化的过程是逐步传参,逐步缩小函数的适用范围,逐步求解的过程。

  • 使用正则和replace实现千位分隔符

    1
    '1234567890'.replace(/\B\d{3}/g,',$&’);
  • css3 中使图片变色的方式:filter(gray)

  • css3 中的动态计算函数:calc() = calc(四则运算),需要注意的是,运算符前后都需要保留一个空格 , 例如:

    1
    width: calc(100% - 10px)
JS
啊哦,该文章暂时不可见哦~


流光容易把人抛,红了樱桃,绿了芭蕉。



  人们总是在感叹时光的飞逝,岁月的无情,眼看它红樱桃,眼看它绿芭蕉,总想着从明天开始我要如何努力的迎头赶上。可是今天还长,明天还远,自己定下的明天一直没有来到,无限颓废的今天一直过不去。