为什么我在接收和使用JSON响应时收到此警告

时间:2012-01-09 12:25:49

标签: javascript json

我通过java脚本接收和使用json响应,我在通过Closure编译器编译时收到警告

 JSC_INEXISTENT_PROPERTY: Property example never defined on json.response.res at line 150 character 12
var company = json.response.res.example.comp[0]["value"];

为什么会发生这种情况,但我收到了输出。

2 个答案:

答案 0 :(得分:3)

因为该属性仅在运行时存在,因为它是从外部源加载的,所以闭包编译器无法看到它并且会警告您(从编译器的角度来看)可能访问未定义的变量。

答案 1 :(得分:0)

您可以使用 @warning_level QUIET 指令停用所有警告

例如:

// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @warning_level QUIET
// ==/ClosureCompiler==

但您仍需要从外部导出从html页面调用的函数。