草庐IT

javascript - @private 注释在 Google Closure JavaScript 代码中实际上做了什么?

当我用@private在我的变量或函数上方添加注释时,它实际上在做什么?我已经查看了文档,但我仍然不确定。goog.provide('myproject');/**@private*/myproject.foo="bar";打开chrome的开发工具(myproject.foo)还是可以访问的。还有……goog.require('myproject');window.addEventListener('load',function(){//thisworks.document.body.textContent=myproject.foo;});即使在编译时,上面的代码仍然将正文text

javascript - Google Closure Annotating 不会告诉我我错了

我正在试用GoogleClosure,特别是用于强制类型安全的注释内容。为了测试我做错了什么,尽管编译器不会告诉我这是...代码如下://==ClosureCompiler==//@output_file_namedefault.js//@compilation_levelSIMPLE_OPTIMIZATIONS//==/ClosureCompiler==/***Acard.*@constructor*@param{String}cardNameTheexactnameofthecard*@param{Kinetic.Layer}layerThelayerforthecard*/fun

javascript - Google Closure 库的基准测试

当我搜索Javascript库的性能时,我得到许多网站显示以下流行库之间的性能比较jQuery(相当慢)原型(prototype)(在IE中很慢)Dojo(涉及DOM时最快)ExtJs(平均)MicroJS(慢但还可以)但在任何基准测试中,GoogleClosureLibrary都不包含在内。它不像任何其他标准库,据说它是一个过程样式库。我需要一些关于Closure库性能的基准测试。并希望获得有关“在初学者阶段使用dojo并在某个中间阶段使用jQuery时切换到Closure库是否好”的建议Google发布它在其所有应用程序(如Gmail等)中使用闭包库...性能非常好。这是因为图书馆

javascript - 忽略 Google Closure 中一个文件的编译器警告

我在一个相当大的Closure项目中使用外部库(Phonegap)。不幸的是,Phonegap生成了大量的编译器警告(所有“危险使用”)。足以让我在编译器输出中搜索关于我自己的代码的警告非常烦人。有没有办法让一个文件中的警告静音? 最佳答案 我想你的意思是在使用VERBOSE或checkTypes时出现类型警告。将以下内容放入任何文件:/***@fileoverview*@suppress{checkTypes}*/仅针对该文件关闭类型检查。您还可以@suppress许多其他事情。阅读ClosureCompiler文档了解更多详情。

javascript - 关于如何使用 Google Closure Compiler 组合多个没有任何优化的 javascript 文件的想法?

关于如何使用GoogleClosureCompiler组合多个JavaScript文件而不进行任何优化,有什么想法吗?具体来说,我们想使用Closure来部署我们组合站点JavaScript的两个版本:release和debug。对于发布,我们使用的是--compilation_levelSIMPLE_OPTIMIZATIONS--manage_closure_dependencies,它按预期工作。但是,对于调试,我们希望我们的JavaScript完整/未修改地组合在一起,以便于调试。似乎最低级别的优化是WHITESPACE_ONLY,任何想法将不胜感激。

JavaScript:在数组文字中访问自己的对象属性

给定一个JavaScript对象中的数组文字,访问它自己的对象的属性似乎不起作用:varclosure={myPic:document.getElementById('pic1'),picArray:[this.myPic]}alert(closure.picArray[0]);//alerts[undefined]而通过访问其他JavaScript对象来声明数组项似乎可行​varclosure1={​​myPic:document.getElementById('pic1')​}​​varclosure2={​​picArray:[closure1.myPic]​}​​alert(c

javascript - 如何防止 Closure Compiler 重命名 "true"、 "false"和 "null"

GoogleClosureCompiler重命名代码中出现的所有“true”、“false”和“null”;vars=true,x=null,V=false;并改用这些缩写;在诸如;if(someVariable==s)现在;GoogleAnalytics代码定义了它自己的“s”变量;覆盖值“true”;如您所见,这会导致很多问题。我不想更改GA代码;我只想让ClosureCompiler停止重命名true等。Externs不起作用。你知道有什么方法可以做到这一点吗? 最佳答案 事实证明,可以通过命令行代码中名为“output_wr

javascript - 我可以告诉 Closure 编译器仅针对特定类型停止重命名属性吗?

此问题如下:WhydoesClosurecompilerrenamepropertiesofanexterntype?约翰对这个问题的回答引出了第二个问题。如果我按照建议声明外部类型:/**@interface*/functionSpanishNoun(){}/**@type{string}*/SpanishNoun.prototype.english;/**@type{string}*/SpanishNoun.prototype.spanish;然后像这样的Javascript:/***@param{SpanishNoun}n*/exp.foo=function(n){console

javascript - 如何使用 jQuery 在 JavaScript 数组中查找对象的索引

我试图在jquery的数组中查找对象的索引。我不能使用jQuery.inArray因为我想匹配某个属性上的对象。我正在使用:jQuery.inObjectArray=function(arr,func){for(vari=0;i然后调用:jQuery.inObjectArray([{Foo:"Bar"}],function(item){returnitem.Foo=="Bar"})有内置的方法吗? 最佳答案 不确定为什么each()对你不起作用:损坏--请参见下面的修复functioncheck(arr,closure){$.eac

javascript - Google Closure Library 最好/更稳定的特性是什么

2009年11月,Google宣布发布ClosureTools其中包括ClosureLibrary.根据thispost谷歌闭包库包含一些久经考验的部分和其他更具实验性的部分。有使用googleclosure经验的人可以分享关于哪些部分是可靠的,哪些部分是不确定的(呃)或尚未准备好用于生产的信息吗?一些演示显然不能在最新的firefox中运行(截至2010年1月)。 最佳答案 ClosureLibrary是一个JavaScript库经过Google的良好测试模块化设计跨浏览器兼容(非常方便,可以节省一些时间)大量可重复使用的UI小部