我正在为闭包编译器注释我的所有 javascript,但是 - 我目前拥有的代码很大程度上取决于在对象中定义类,即:
Class.SomeClass = function() {};
Class.SomeOtherClass = function() {};
而不是:
function SomeClass() {};
SomeClass.prototype = {};
但是,它在尝试注释扩展时给了我一个警告……编译器指出我无法确定 Class.SomeClass 是什么类型:
JSC_TYPE_PARSE_ERROR: Bad type annotation. Unknown type Class.SomeObject
* @extends Class.SomeObject
使用 ADVANCED_OPTIMIZATIONS将以下代码粘贴到闭包编译器中:
// ==ClosureCompiler==
// @output_file_name default.js
// @compilation_level ADVANCED_OPTIMIZATIONS
// ==/ClosureCompiler==
(function($) {
"use strict";
var Class = {};
/**
* @constructor
*/
Class.ObjectA = function() {};
Class.ObjectA.prototype = {};
/**
* @constructor
* @extends Class.ObjectA
*/
Class.ObjectB = function() {};
Class.ObjectB.prototype = $.extend(new Class.ObjectA(), {
initialize: function() {}
});
window.test = new Class.ObjectB();
window.test.initialize();
})(jQuery);