2016-02-28 60 views
0

我有这样的功能:如何判断传递给函数的参数是对象还是字符串?

error = (error, modelState, modalHeader, modalBody): ng.IPromise<any> => { 
    // function code here 

在一些情况下,第一参数可以是一个字符串,如:

"problem" 
在其他情况下

它可以是一个对象,如本:

{ 
"ErrorMessage":"END_TEST - Invalid TestID, Unauthorized Access or TestStatus is not Started or Paused", 
"ErrorNumber":50001 
} 

有没有一种方法可以检测出它是字符串还是对象?

+1

使用'typeof'? –

+2

http://stackoverflow.com/questions/7390426/better-way-to-get-type-of-a-javascript-variable – DmitryZyr

+0

你可以举一个例子,说明typeof可以如何用于这个,所以我可以使问题回答。 – Alan2

回答

1

typeofoperator是你的朋友:

error = (error, modelState, modalHeader, modalBody): ng.IPromise<any> => { 
    if (typeof error === 'string') { 
    //string 
    } else if (typeof error === 'object') { 
    //object 
    } 
} 

typeof可估算如下:stringnumberobjectundefinedbooleanfunction

相关问题