我的功能如下:
function testFunction( option )
{
alert(option);
}
(实际功能不只是回答选项)
当然,如果您testFunction("qwerty");
或testFunction(myvar);
,其中myvar
是变量,则它会有效。
如果testFunction(qwerty);
,qwerty不是变量,则无法正常工作。
我想知道是否有办法让功能检查以查看option
是变量还是字符串(例如上面示例中的"qwerty"
和myvar
)以及是否它会继续正常并提醒字符串或变量的值。
但是,如果它不是变量或字符串,而是未定义的变量(例如上面示例中的qwerty
),那么我希望它提醒变量的名称(qwerty
在这种情况下)。
这可能吗?
谢谢!
更多示例:
var myvar = "1234";
testFunction("test"); //alerts "test"
testFunction(myvar); //alerts "1234"
testFunction(qwerty); //alert "qwerty"
答案 0 :(得分:1)
你的问题是testFunction(qwerty);甚至不会达到这个功能。
Javascript无法解释变量' qwerty'因为它没有定义,所以它会在那里崩溃。
只是为了好玩,通过捕获当您尝试解释未定义变量时抛出的错误,这里有一种方法来执行您的请求:
function testFunction( option ){
console.log(option);
}
try {
var myvar = "1234";
testFunction("test"); //alerts "test"
testFunction(myvar);
testFunction(qwerty); //alert "qwerty"
}catch(e){
if(e.message.indexOf('is not defined')!==-1){
var nd = e.message.split(' ')[0];
testFunction(nd);
}
}
请记住,绝对不应该这样做,而是尝试在程序中使用现有变量,它会更好用;)