我有这个简单的代码: (我删除了一些代码以保持简单...)
tb[,diff(tb)!=0]
}
在我跑完之后
if(!window['PSI']) window['PSI'] = {};
/**@constructor*/
window['PSI']['Select'] = function(pattern) {
this.highlight(pattern);
}
window['PSI']['Select'].prototype = {
highlight: function( pattern) {
var regex = (typeof pattern === 'string') ? new RegExp(pattern, 'i') : pattern;
var highlight = function(node) {
if (node.nodeType === 3) {
var pos = node.data.search(a);
} else if (node.nodeType === 1 ) {
for (var i = 0; i < node.childNodes.length; ++i) {
i += highlight(node.childNodes[i]);
}
}
}
var items = document.getElementsByTagName("li");
for (var i = 0; i < items.length; ++i) {
highlight(items[i]);
}
}
这是输出:
java -jar closure-compiler-v20160713.jar --compilation_level ADVANCED_OPTIMIZATIONS --js source.js --js_output_file source.min.js
我的高亮方法变成了一个全局函数,有没有办法让我的方法成为PSI.Select对象的原型? 奇怪的是,并非我的所有方法都是这样的,只有2 ...这是其中之一
答案 0 :(得分:0)
我必须在我的方法之前添加--generate_exports和--export_local_property_definitions标志和/ ** @export * /,似乎编译器注意到我的方法从未引用'this'并且它决定从原型中删除它很安全,但我不想那样。如果有人有更好的建议请做。