2011-12-16 114 views
0

问题:采用任意字符串的JavaScript代码并始终从中返回值并将其分配给变量。我需要建立一个JavaScript字符串,当被撤销时,会持续设置一个变量,以便返回原始的任意javascript字符串的返回值。例如,该字符串的javascript:始终从javascript的片段返回值

if(typeof(something) !== "undefined"){ 
    hello() 
} 

这是我如何努力,现在做到这一点(是的,我知道上面的代码不会返回任何东西)

var result = (function(){ 
    if(typeof(something) !== "undefined"){ 
    hello() 
    } 
}.call(this) 

,从而导致是未定义。在上述情况和所有(或大多数)其他情况下,我能得到一个未定义的结果吗?

+0

你能更详细地解释你为什么要这么做吗?如果“任意一串javascript代码”没有返回任何东西(比如你的第一个例子),那么你可能期望什么样的定义值?价值从何而来? – nnnnnn 2011-12-16 04:28:14

回答

1

如果你休想从功能falsy值(''0falseundefinednull),这将工作。

var result = function(){ 
    if(typeof something !== "undefined"){ 
    hello() 
    } 
}.call(this) || 'default_value'; 

jsFiddle