JavaScript 语句特性

2019-04-28 23:39|来源: 网路

JavaScript语句和语句之间的换行、空格、缩进都不敏感

<script type="text/javascript">
alert("你好");alert("帅");
alert("哈哈哈哈");
</script>

等价于:

<script type="text/javascript">
alert("你好");
alert("帅");
alert("哈哈哈哈");
</script>

语句后面的分号,不是必须写的,如果语句是一行一行写的,那么分号是没有必要的。但是压缩页面的时候,语句结尾的分号,非常重要。

我们把页面做好之后,通常都会进行压缩,用软件把所有的空格、换行都去掉。此时,语句末尾的分号显得非常重要,如果去掉分号,将不能执行。

不能执行:

<script type="text/javascript">
alert("你好")alert("帅")alert("哈哈哈哈")
</script>

正确写法:

<script type="text/javascript">
alert("你好");alert("帅");alert("哈哈哈哈");
</script>

相关问答

更多
  • $(".Arrow44").click(function () { $("#aca").slideToggle(); return false; // stop bubbling and prevent default action - remove if not necessary }); $(".Arrow44").click(function () { $("#aca").slideToggle(); return false; // stop bubbling and pr ...
  • 尽管现代Javascript引擎试图优化各种事物,但它在每次迭代时都会被调用。 这是一种常见的Javascript模式来缓存Javascript数组的长度,因为第一个实现很慢。 var l=arr.length; for (var i=0; i
  • 首先,我认为您的搜索有点过于通用。 (例如,如果有人有电子邮件地址,“ shotmail@mydomain.com ”? 尝试这个: var notAllowed = /@(?:aol|hotmail|g(?:oogle)?mail|yahoo)\.com$/i; // You may want to cover other domains under .co.uk etc. if ( notAllowed.test(emailAddress) ) { alert("No Hotmail, Gma ...
  • 听起来您正在寻找逻辑异或(XOR)操作。 这里有一些Javascript示例。 我最喜欢的(出乎意料和简单)是: if (foo ? !bar : bar) { ... } 不可否认,这是一个不寻常的编码,并且接近“过于聪明”。 有时,如果一种语言没有操作的直接语法,则代码必须是冗长的,比如从除法运算中获取商和余数。 It sounds like you are looking for a logical exclusive-or (XOR) operation. There are some J ...
  • 作为其他答案的替代方案,如果您不希望因任何原因在该范围内声明另一个变量: if (["2", "3"].indexOf(document.getElementById("x").value) > -1) { // Do something } 请注意,较旧的浏览器不支持Array.prototype.indexOf因此您需要包含一个polyfill来处理它。 Just as an alternative to the other answers, if you don't want to be d ...
  • 你的表达永远是真的,你需要: if(!(myVar == "One" || myVar == "Two" || myVar == "Three")) { // myVar is not One, Two or Three } 要么: if ((myVar != "One") && (myVar != "Two") && (myVar != "Three")) { // myVar is not One, Two or Three } 并且,为了简短: if (!/One|Two|Three/ ...
  • 尝试这个: var myApp = angular.module('myApp',[]); function MyCtrl($scope) { var items = [ { "Item 1": "sub 30" }, { "Item 2": "sub 53" }, { "Item 7": "sub 21", ...
  • 你当然可以简化你的代码 var pos = $("#slide-1").prevAll().length; switch (pos) { case 0: ... break; case 1: ... break; ... default: ... break; } 但似乎你应该优化你的方法来移动子元素只有一个函数而不是N,所以你可以做一个简单的调用: var elem = $(" ...
  • 想出这个 - 我不知道为什么我之前没有看到这个,但我后面的代码片段完美无缺。 我在发布时没有意识到它,但它不会溢出堆栈,因为每次运行它都会启动异步调用并退出 - 所以堆栈帧永远不会超过2或3深。 异步调用是在外部管理的,不会在堆栈中,所以每次重新开始。 我仍然感谢有关为什么第一种方法(异步调用中的同步代码)没有/不会工作的任何输入。 Figured this one out - I don't know why I didn't see this before but my latter code frag ...
  • for in循环将遍历对象中的每个属性。 在您的示例中, x变量将循环遍历mycars对象中的每个属性。 如果你添加mycars.expensive = "Porsche"; 它也会发现。 请注意,正如MDC所述 , for in循环不应该用于循环普通数组: 虽然使用这个方法来迭代Array可能会很诱人,但这是一个坏主意。 for...in语句除了数组元素之外,还会遍历用户定义的属性,所以如果修改数组的非整数或非正整数属性(例如向其添加"foo"属性或者添加一个方法或属性添加到Array.prototype ...