将字符串参数与引用字符串的变量区分开来

时间:2014-09-29 12:21:20

标签: javascript

是否可以将作为参数传递的文字字符串与引用JavaScript中的字符串值的变量区分开来?我认为这是不可能的,但也许有办法。

例如:

var myString = 'some string'

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

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

1 个答案:

答案 0 :(得分: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