最近新入职了一家公司,周五看代码的时候,发现他们页面上的js是这样纸的,我当时的心情是莫名其妙的:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DO0QDMzIjMyIzMycDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
好吧,入乡随俗。
prototype通俗的用法,就是向对象添加属性跟方法。
通过prototype,起到了一个克隆方法的作用。
下面来瞅瞅使用原型的时候,可能会遇到的问题。
问题一:扩展类与对象实例具有相同的方法,调用时候会调用哪一个?
结论:函数运行时会先去本体的函数中去找,如果找到则运行,找不到则去prototype中寻找函数。或者可以理解为prototype不会克隆同名函数。
最近新入职了一家公司,周五看代码的时候,发现他们页面上的js是这样纸的,我当时的心情是莫名其妙的:
好吧,入乡随俗。
prototype通俗的用法,就是向对象添加属性跟方法。
通过prototype,起到了一个克隆方法的作用。
下面来瞅瞅使用原型的时候,可能会遇到的问题。
问题一:扩展类与对象实例具有相同的方法,调用时候会调用哪一个?
结论:函数运行时会先去本体的函数中去找,如果找到则运行,找不到则去prototype中寻找函数。或者可以理解为prototype不会克隆同名函数。