Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript String.prototype.trim如何独立处理异常?_Javascript_Trim - Fatal编程技术网

Javascript String.prototype.trim如何独立处理异常?

Javascript String.prototype.trim如何独立处理异常?,javascript,trim,Javascript,Trim,我知道我只能向trim方法发送字符串,以避免传递数字时出现异常,但我想知道如何从trim方法本身内部处理该异常 这是一个对象,我不知道它的类型是字符串还是数字 String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,"") } 确保以下操作不起作用: this = this.toString(); typeof始终返回对象 我非常想知道我们如何才能做到这一点:) 谢谢。@Oka正如我在问题中提到的,我知道如何通

我知道我只能向trim方法发送字符串,以避免传递数字时出现异常,但我想知道如何从trim方法本身内部处理该异常

这是一个对象,我不知道它的类型是字符串还是数字

String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,"") }
确保以下操作不起作用:

this = this.toString();
typeof始终返回对象

我非常想知道我们如何才能做到这一点:)


谢谢。

@Oka正如我在问题中提到的,我知道如何通过只发送字符串来避免此异常,但我想了解如何在prototype属性中处理对象:)你说的“我想了解如何在prototype属性中处理对象”是什么意思?
string.prototype.trim
由IE9及以上版本本机支持,根本不需要覆盖它,当然也不应该给它添加意外行为。只要确保只通过stringsRight,就无法询问对象的类型。您可以
instanceof
,也可以通过查看原型链来推迟类型。这是你的问题吗?@moderns这样做很奇怪。通常,您会为
Number
编写一个实现,为
String
编写一个不同的实现。如果您需要检查变量的类型以决定如何处理它,那么这就是代码的味道。另外,对一个
数字
进行
trim
难道不应该抛出一个错误,因为这不是一个合理的操作吗?