草庐IT

console_script

全部标签

javascript - 为什么 console.log() polyfill 不使用 Function.apply()?

我一直在研究一些流行的console.log()包装器/polyfills:PaulIrish'sBenAlman'sCraigPatik's我注意到他们都接受多个参数,但他们都做这样的事情:console.log(arguments);结果如下(在Chrome中):然而,至少在像Chrome或Firefox这样的现代浏览器中,console.log()也接受多个参数,因此这会产生(恕我直言)出色的输出:console.log.apply(console,arguments)结果如下(在Chrome中):为什么我应该避免使用带有多个参数的console.log.apply()有什么特别

javascript - javascript 或 firefox 中的 console.dir() 是异步的吗?

一个很奇怪的问题。在我的调试中,我发现console.dir(anArray)没有在浏览器的firebug控制台上输出当前值。例如,console.dir(anArray)//line1console.log(anArray[0].prop1)//line2codetochangethevalueofanArray[0].prop1//line3anArray是javascript/json对象的数组,在Firbug的控制台中,第1行输出了第3行设置的新值,第2行是旧值,是我想要的。唯一的解释是console.dir()是异步的,对吧?!我的环境:Windows7,Firefox6.0

javascript - console.log 有时不起作用

我遇到过好几次了,没有解释。网站上没有JS错误。代码确实在执行。用alert()替换它们就可以了。所以今天又发生了,所以我尝试检查控制台对象中的控制台对象&我发现了一些不规则的地方,好像有什么东西覆盖了控制台对象。下面是我遇到这个问题的站点(站点A)的截图:http://ompldr.org/vZ256Mw/Selection_004.jpg您看到log、warn和info是空函数了吗?并且控制台对象与它在控制台正常工作的站点(站点B)上的不同(屏幕截图如下)?http://ompldr.org/vZ256Mg/Selection_003.jpg现在两个站点上运行的代码完全相同。站点B

javascript - 使用闭包编译器删除 console.log

我想通过剥离所有console.log("blahblah")来准备我的JS代码生产调试语句。我对thispopularSOanswer(codebelow)感到困惑关于如何使用Google'sclosurecompiler执行此操作,一个流行的JS缩小器/编译器。/**@const*/varLOG=false;...LOG&&log('helloworld!');//compilerwillremovethisline...//thiswillevenworkwith`SIMPLE_OPTIMALIZATIONS`andno`--define=`isnecessary!两个问题:多个

Javascript 代理和传播语法,结合 console.log

所以,我在玩弄代理对象,并试图了解它们如何与扩展语法和解构相结合时,我无意中发现了这种奇怪的行为:constobj={origAttr:'hi'}consthandler={get(target,prop){console.log(prop);return1;},has(target,prop){returntrue;},ownKeys(target){return[...Reflect.ownKeys(target),'a','b'];},getOwnPropertyDescriptor(target,key){return{enumerable:true,configurable:

javascript - 火狐: "Error loading script"

如果我“快速单击”网站上的不同链接(Asp.NetMVC+jQuery,完整回发),FireFox3会出现“加载脚本错误”。重现此错误是相当容易的任务。但我不明白为什么会这样?每次它显示不同的失败脚本文件。所有JavaScript文件都包含在结束标记之前。错误被捕获在window.onerror处理程序中。如果我只是忽略消息“错误加载脚本”的错误,一切正常。但这似乎不是最好的解决办法,一定是有原因的。很遗憾,这篇文章对我没有帮助:Firefox‘Errorloadingscript’loadingGoogleAnalyticsinFF2另一个描述类似问题的资源:BrowserScrip

javascript - 如何处理 "a script on this page is causing internet explorer to run slowly"警报?

我正在从javascript调用网络方法。在IE中,如果我向该Web方法传递一个巨大的参数,则会弹出警告“停止运行此sciprt?此页面上的脚本导致InternetExplorer运行缓慢”。是否可以处理"is"按钮上的点击,以便如果用户决定取消脚本执行我可以运行一些替代脚本(在这种情况下,我的“替代”脚本包括关闭一些进度条我在运行长时间脚本之前弹出)。我看过很多解释如何防止显示此警报的帖子,但我不想停止显示警报:我只想能够处理用户决定停止显示的情况脚本执行。 最佳答案 我之前在一个内部应用程序中处理过这个问题,他们不关心浏览器处理

javascript - meteor .js : &lt;script&gt; tag doesn't work inside <body>

body标签内的一个简单脚本标签似乎不起作用。以下代码不会触发警报:alert('Hello');{{>main}}知道为什么吗?编辑:刚刚用一个新的meteor应用试了一下,仍然没有警报标签:testalert('Hello');{{>hello}}HelloWorld!{{greeting}}奇怪的是,当我复制粘贴html的源代码,制作一个新的html页面时,警报会起作用。Edit3:我在这里部署了这个应用程序:http://alert-in-body-test.meteor.com/你有一个警告框吗? 最佳答案 这个问题在当前

javascript - 从发布的 JavaScript 中删除 console.log 和其他调试代码的最佳实践?

我见过一些控制台包装器可以在带有控制台的浏览器中停止错误,而更高级的包装器可以在旧浏览器中启用日志记录。但我没有看到任何帮助打开和关闭调试代码的东西。目前我执行查找和替换以注释掉调试代码。一定有更好的方法吗?我正在使用Combres,它使用YUI来缩小JavaScript。我看过一些帖子提到使用双分号来标记要在缩小过程中删除的行。这是技巧还是好的做法? 最佳答案 也许您应该在console.log()周围有自己的包装器,并通过该包装器记录您的调试信息。这样,一旦部署到生产环境,您就可以用一个空函数替换该单个函数,这样控制台就不会充斥

javascript - 如何在带有 Node.js Commander 的 repl/bash 中继续接收异步 console.log 消息?

我有一个使用Commander构建的Node.jsCLI图书馆。这是主执行文件中的代码。#!/usr/bin/envnodevarprogram=require('commander');varscmStash=require('./lib/hdqc/scmStash');varcommand={};program.version('0.0.1').option('-P,--Projects','ListProjects').option('-R,--Repositories','ListAllRepositoriesonServer.').parse(process.argv);fu