覆盖带参数的js函数

时间:2016-10-21 04:38:10

标签: javascript override prototypejs

我想覆盖带参数的js方法。

请检查原始js文件:bundle.js

Product.Bundle = Class.create();
Product.Bundle.prototype = {
    reloadPrice: function() {

         -----  Default Code  -----

    },
    selectionPrice: function(optionId, selectionId) {

         -----  Default Code  -----
    },
}

我必须覆盖我的js文件中的两个方法。我可以在我的js中成功覆盖reloadPrice方法,但不能覆盖selectionPrice 方法

请检查我的js文件代码,其中reloadPrice方法成功覆盖

<script>
    Product.Bundle.prototype.reloadPrice =
        Product.Bundle.prototype.reloadPrice.wrap(function(parentMethod) {
            -----  Default Code  ------
        });


        // Doing same thnig for SelectionPrice method but not worked :
        Product.Bundle.prototype.selectionPrice =
            Product.Bundle.prototype.selectionPrice.wrap(function(parentMethod) {
            -----  Default Code  -----
        });
</script>

我错了。请帮助我。

1 个答案:

答案 0 :(得分:0)

当您必须覆盖具有参数的方法时,您可以覆盖以下内容:

<script>
 Product.Bundle.prototype.selectionPrice =
     Product.Bundle.prototype.selectionPrice.wrap(function(parentMethod,optionId, selectionId)  {
        -----  Default Code  -----
    });
</script>