尝试在javascript中增加内置类型时出错

时间:2017-04-27 00:22:57

标签: javascript

我尝试使用HTML网页的脚本标记中的以下代码来扩充内置的Number数据类型的javascript:

 Number.method('integer', function () {
        return Math[this < 0 ? 'ceiling' : 'floor'](this);
        });
        document.writeln((-10 / 3).integer( )); 

当我在浏览器中浏览页面时,开发人员工具会报告以下错误:

  

未捕获的TypeError:Number.method不是函数
  在test.html:10   (匿名)@ test.html:10

浏览器信息:Google Chrome

我无法识别代码中的错误。有人能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

是的,您必须定义method,并使用ceil代替ceiling

Function.prototype.method = function (name, func) {
  this.prototype[name] = func;
  return this;
};

Number.method('integer', function () {
  return Math[this < 0 ? 'ceil' : 'floor'](this);
});

console.log((-10 / 3).integer( ));

当然,在这种特殊情况下,您也可以number | 0