将方法添加到数字引发异常
Add a method to Number throws exception
我正在阅读javascript的优点部分,并正在测试代码。
Number.method('integer', function ( ) {
document.writeln("called"+ this<0);
return Math[this < 0 ? 'ceiling' : 'floor'](this);
});
并通过将其调用为
document.writeln((-10 / 3).integer());
我得到Uncaught TypeError: Math[(intermediate value)(intermediate value)(intermediate value)] is not a function
错误。我做错了什么吗?我正在铬上测试它
我忘了提,还有另一种方法添加到 function.protoype 作为
Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};
没有方法Math.ceiling()
,但Math.ceil()
。可能这会产生错误:
未捕获的类型错误: 数学[(中间值)(中间值)(中间) 值)(中间值)] 不是函数
你需要添加到 Number 的原型中
Number.prototype.integer = function ( )
{
document.writeln("called"+ this<0);
return Math[this < 0 ? 'ceiling' : 'floor'](this);
};
添加到原型时,请确保 Number 的实例将具有此属性,而不仅仅是 Number 对象。
另外,尽量避免document.writeln
因为它基本上会擦除现有文档,删除现有事件。如果需要,请使用document.body.innerHTML
。
Number.prototype.integer = function ( )
{
document.body.innerHTML += "<br>called"+ (this<0);
return Math[this < 0 ? 'ceil' : 'floor'](this); //observe that ceiling is also replaced with ceil since there is no such method called ceiling
};
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 测试索引值是否等于某个数字的倍数
- 将数字转换为一定数量的硬币
- 键入最后一位数字后自动提交
- 如何在javascript中迭代数字列表
- Javascript逻辑运算符和字符串/数字
- 如何在javascript中获得与特定数字相等的随机数
- 如果元素's的ID以数字开头
- 递增一个数字而不去掉前导零
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 如何在这里将两个值最低的数字相加
- 如何删除除冒号、数字和'上午'或者'下午'
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Javascript排序字符串或数字
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 将数字四舍五入到小数点后两位
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 将方法添加到数字引发异常
- 对 HTML 数字输入行为异常的自定义验证
- 了解数字到字符串(基数)意外的标记异常