2014-09-29 22 views
1

是否可以區分作爲參數傳遞的文字字符串與引用JavaScript中的字符串值的變量?我認爲這是不可能的,但也許有辦法。從引用字符串的變量中區分字符串參數

例如:

var myString = 'some string' 

function whoIsThat(x){ 
    alert(typeof(x)) 
}; 

whoIsThat(myString) // differentiate this ? 
whoIsThat('some string') // from this ? 
+2

不,沒有。你爲什麼想要?順便說一下,'typeof'是一個運算符,而不是一個函數,在這種情況下不需要括號。 – 2014-09-29 12:23:41

+0

我與@torazaburo - 你爲什麼在意? – CodingIntrigue 2014-09-29 12:24:33

+2

不包含引用字符串的文字字符串和變量。無論如何,在這種情況下,它被變量'x'所取代。儘管你可以使用String對象。 'var myString = new String('some string');' – 2014-09-29 12:25:51

回答

0

如果只作爲參數傳遞到變量的文字字符串和文字字符串:

var myString = 'some string' 
'some string' 

那麼,沒有辦法告訴它們之間的差異。還要注意,無論如何這兩個都傳遞給本地變量x。雖然如果您稍作修改並改爲使用String對象。那麼區別很簡單:

var myString = new String('some string'); 

function whoIsThat(x){ 
    alert(typeof(x)) 
}; 

whoIsThat(myString);  // -> object 
whoIsThat('some string'); // -> string