javascript – 覆盖原型属性或函数

前端之家收集整理的这篇文章主要介绍了javascript – 覆盖原型属性或函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
function Ninja(){
  this.swingSword = function(){
    return true;
  };
}

// Should return false,but will be overridden
Ninja.prototype.swingSword = function(){
  return false;
};

var ninja = new Ninja();
log( ninja.swingSword(),"Calling the instance method,not the prototype method." );

现在日志显示我是真的.这意味着在Ninja.prototype中定义的swingSword已被覆盖,因此如何覆盖构造函数属性.
我知道首选的是构造函数变量然后为什么需要在原型中定义一个函数属性

解决方法

在原型上定义函数的原因是它在所有实例之间共享.这将节省一些内存,而不是每个实例都有自己的构造函数中定义的函数副本.

您可能感兴趣的其他一些参考:

Javascript when to use prototypes

http://javascript.crockford.com/inheritance.html

原文链接:https://www.f2er.com/js/156683.html

猜你在找的JavaScript相关文章