Javascript 什么是差异?

Javascript 什么是差异?,javascript,Javascript,我是javascript的乞丐,所以我只需要理论上的解释。 是什么意思;后面}为什么我必须把它放在那里?当我在PHP中工作时,我不需要输入;在函数{}之后,类似于本例 var orangeCost = function(price) { var quantity = 5; console.log(quantity * price); }; orangeCost(5); 我只是想知道这段代码是好是坏,因为在这种情况下我无法得到期望的结果: var orangeCost = fun

我是javascript的乞丐,所以我只需要理论上的解释。 是什么意思;后面}为什么我必须把它放在那里?当我在PHP中工作时,我不需要输入;在函数{}之后,类似于本例

var orangeCost = function(price)
{
    var quantity = 5;
    console.log(quantity * price);
};
orangeCost(5);
我只是想知道这段代码是好是坏,因为在这种情况下我无法得到期望的结果:

var orangeCost = function(price)
{
    var quantity = 5;
    console.log(quantity * price);
}
orangeCost(5);

当你把一个函数赋值给一个变量时,它就像其他赋值一样

var aMethod = function() { /*...*/ };
var aNumber = 123;

在这两种情况下,结尾的分号都是可选的。建议添加它们,以避免在删除换行符(例如,在连接源代码的过程中)时意外合并语句。

添加分号
标记语句的结尾。但是,这并不总是强制的,一些js解析器将接受仅使用换行符作为语句的结尾。这目前被认为是一种不好的做法,因为在某些场景中,解析器无法区分编码换行符和文字换行符。例如,如果您试图声明一个包含换行符的字符串,那么您会遇到麻烦

某些构造没有结束分号。功能 声明(与示例中的函数表达式相反)不带尾随分号:

function orangeCost(price) {
    var quantity=5;
    console.log(price*quantity);
}
循环后面不能使用尾随分号,例如if/else、for或switch

这与PHP没有什么不同,一点也没有。在PHP中,这同样适用于过程函数和lambda函数:

<?php
function orangeCost($price) {
   $quantity=5;
   echo $quantity*$price;
}

$orangeCost=function($price) {
   $quantity=5;
   echo $quantity*$price;
};

在PHP中,您必须在同一位置添加分号…像这样声明您的函数:
函数orangeCost(price){…}
并且您不会再三考虑是否需要在末尾添加分号,因为它是函数声明,而不是语句。我从来都不明白人们为什么要做
var-orangeCost=function(price){…}
。这只会让你的代码顺序在不需要的时候变得依赖。我在教科书中找到了var xxx=function(xxx),但是谢谢你的回答和解释!实际上你的解释很有帮助,我不知道我写函数的方式!非常有用的答案。不仅仅是在连接或手动删除换行符时。考虑OPS函数定义并添加<代码>(函数({)});代码>是的,很棒。分号是很好的使用方法。