Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSC_非函数型google闭包编译器_Javascript_Javascript Framework_Google Closure Compiler_Google Closure - Fatal编程技术网

Javascript JSC_非函数型google闭包编译器

Javascript JSC_非函数型google闭包编译器,javascript,javascript-framework,google-closure-compiler,google-closure,Javascript,Javascript Framework,Google Closure Compiler,Google Closure,有没有办法摆脱这个警告 JSC_NOT_函数_类型表达式不可调用 在用google闭包编译器打包javascript时 var require = function(){}; var a=typeof require=="function"&& require; function hello(name) { var x = 2; alert(a(x)); alert('Hello, ' + name); } hello('User X'); 运行闭包编

有没有办法摆脱这个警告

JSC_NOT_函数_类型表达式不可调用

在用google闭包编译器打包javascript时

var require = function(){};

var a=typeof require=="function"&& require;

function hello(name) {
   var x = 2;
   alert(a(x));
   alert('Hello, ' + name);  
}
hello('User X');

运行闭包编译器的联机帮助工具:

问题在于,如果
require
不是函数,则
a
可能不是函数:

var a=typeof require=="function"&& require;
相反,您可以使用

var a=typeof require=="function" ? require : function(){};

谢谢@Oriol。问题是我不能(不想)更改代码。这部分(var a=typeof require==“function”&&require;)是通过运行browserify生成的代码。@sbr如果您不能更改代码,我认为您无能为力。忽略警告。也许有一种方法可以指定关闭选项来忽略它。@sbr是的,我刚刚找到它:
@warning\u level quiet
。当然,请参见@sbr。如果你想得到所有的警告,但这一个,只是忽略它。无论如何,我不认为这是一种“普通风格”:检查它是否是函数有什么意义,如果不是,用
false
来代替?当试图调用它时,它也会抛出一个错误。