草庐IT

javascript - 压缩前检查 javascript 是否缺少 ";"

我正在做一些优化并决定使用YUICompressor压缩我的javascript文件.问题是,某些代码行缺少“;”最后,因为javascript允许这样做,开发人员不会过多关注这一点。压缩代码会不会出问题?如果是,有没有办法检查javascript中缺少“;”的行? 最佳答案 jsLint可以检查你的代码。是的,除非压缩器实际上包含JavaScript解析器并主动修复丢失的分号,否则它很可能会导致问题。 关于javascript-压缩前检查javascript是否缺少";",我们在Sta

javascript - "for"开头的分号是如何工作的?

我刚刚在Mozilla网站上看到这段代码,虽然对我来说它看起来很糟糕,但我可能不熟悉它的用法:for(;k分号在循环开始时是如何工作的?完整代码是here. 最佳答案 第一部分是用于初始化变量的initial-expression(参见forconstruct):for([initial-expression];[condition];[final-expression])statement在这种情况下,方括号表示它是可选的。因此,如果您没有要初始化的变量,则无需编写任何初始化表达式。就像在for循环之前初始化k的情况一样:vark

JavaScript,如何以最有效的方式从字符串中获取第二个值,如 "var1-var2"

我知道.split("-",2),但我怎样才能做出这样的东西varstr="123-341235";alert(str.split("-",2).[2])谢谢大家的帮助! 最佳答案 我看到两个简单的解决方案,它们的性能大致相同:varstr="123-341235";str.split('-')[1];//=>"341235"(slower)str.slice(str.indexOf('-')+1);//=>"341235"(faster)这jsPerfbenchmark显示“slice/indexOf”解决方案在Chrome和Fi

javascript - 如果字符超过一定限制,如何 trim 元素的内容并放置 "..."?

我想trim一部分如果太长。这将确保表格不会被弄乱。下表中的所有数据都是从数据库中检索的。在“主题”部分,如果超过一定的字符限制,我该如何缩短文本并输入“...”?这是表格的屏幕截图:如您所见,如果主题太长,可能会弄乱表格。是否有任何jQuery仅在超过一定限制时才使元素trim并在末尾放置“...”?我不认为chop插件会起作用,因为它通常会把它分开并换行,我不需要它显示,因为所有使用它的人都必须点击“查看票”,他们会看到那里有完整的主题。我在StackOverflow上搜索了其他问题,但找不到我需要的问题。 最佳答案 您可以使用

javascript - 如果 "value"字段为空,如何添加占位符属性

如果您有一个“值”属性为空的文本输入字段,是否可以添加占位符属性(占位符标记,而不是“默认值”和类似方法)?我在这里看到过很多类似的问题,但大多数都是使用defaultvalue。我需要占位符标签,而且我根本无法影响HTML输出。这是给定的HTML输出示例: 最佳答案 我建议采用以下任何一种方法:$('input:text').each(function(i,el){if(!el.value||el.value==''){el.placeholder='placeholdertext';/*or:el.placeholder=$('

javascript - jquery .replace(/./g, "") 对我不起作用,但对其他人不起作用

我在某处找到了这段代码,它非常有用:varn=parseInt(e.find("span.favNum").text().replace(/./g,""))+1;如果我以类似的方式进行操作,它就不再起作用了。我做了以下事情:6.987vartest=$("#test");varr=test.text().replace(/./g,"");console.log("wrong",r);我知道我也可以这样替换它:varr=test.text().replace(".","");这有效。我想了解为什么“被盗”的代码段有效。有什么想法吗?http://jsfiddle.net/nJZMf/3/

javascript - 名为 "name"的变量是否总是在 Javascript 中定义?

document.writeln('name='+name);//name=document.writeln('notName='+notName);//ReferenceError:notNameisnotdefined“名称”在javascript中有什么特殊含义吗?(在IE和FF中检查过) 最佳答案 Isvariablecalled“name”alwaysdefinedinJavascript?没有。但是,在浏览器上有一个名为name的全局变量,它是当前窗口的名称。这是浏览器上的JavaScript全局对象是Window对象这

javascript - `new Function("在立即调用的函数中返回 this")()` 的目的是什么

我正在查看setImmediatepolyfill它包含在立即调用函数中,包含以下内容:(function(global,undefined){"usestrict";...}(newFunction("returnthis")()));我对最后一条语句的目的和传递给函数的参数感到困惑。这段代码既可以在浏览器中运行,也可以在Node.js上运行,这与它有什么关系吗?你能解释一下吗? 最佳答案 代码的编写使其可以访问全局范围,无需知道包含该范围的对象是什么。例如,在浏览器中,全局范围是window,但在其他容器中并非如此。通过使用Fu

javascript - 在 ajax 请求中使用 "var"关键字时非常奇怪的行为

我已经为此担心了一段时间,但我无法意识到到底发生了什么。代码注释中的解释。一个应用程序有2个版本,其中一个会抛出奇怪的结果,而第二个会执行预期的工作。varid="test1";$.post("http://fiddle.jshell.net/echo/json/",{"data":"data"},function(a){alert(id);//willthrowundefinedvarid="test2";alert(id);//willthrow"test2"asexpected});$.post("http://fiddle.jshell.net/echo/json/",{"da

javascript - 'a[href^="/"]' 是什么意思?

下面的代码中,a[href^="/"]是正则表达式吗?为什么它有^符号,它有什么作用?它会/不会响应哪些点击事件?$(document).on('click','a[href^="/"]',function(e){e.preventDefault();varhref=$(e.currentTarget).attr('href');console.log('click'+href);Backbone.history.navigate(href,{trigger:true});});(codesource) 最佳答案 Q.Intheco