分号和标识符在JavaScript中做什么?

分号和标识符在JavaScript中做什么?,javascript,Javascript,我刚刚开始从Lynda.com学习JavaScript,现在我正在学习关于函数的课程 我对匿名函数感到困惑。当我在下面写代码时,我的IDE显示了一些我不理解的警告 var theBiggest = function(a,b) { "use strict"; var result; a>b ? result = ["a", a] : result = ["b", b]; console.log(result); })(5/7,18/25) console.log(theBigges

我刚刚开始从Lynda.com学习JavaScript,现在我正在学习关于函数的课程

我对匿名函数感到困惑。当我在下面写代码时,我的IDE显示了一些我不理解的警告

var theBiggest = function(a,b) {
"use strict";
var result;
a>b ? result = ["a", a] : result = ["b", b];
console.log(result);    
})(5/7,18/25)

console.log(theBiggest);
警告如下:

1) 。代码第6行缺少分号

2) 。应为赋值或函数调用,而不是看到 第4行的表达式

应为标识符,而不是在第6行上看到“')


本教程的代码与我的代码相同,但我的代码不起作用。

以下是我看到的内容:

result
是否需要指定为
a>b的结果?[“a”,a]:[“b”,b]

在函数末尾有一个额外的

分号是需要在第6行中添加的语句的结尾,位于
(5/7,18/25)
之后

函数需要返回
结果

var themax=函数(a,b){
“严格使用”;
var结果;
结果=a>b?[“a”,a]:[“b”,b];
控制台日志(结果);
返回结果;
}(5/7,18/25);

console.log(最大);
我看到的是:

result
需要分配为
a>b的结果?[“a”,a]:[“b”,b]

在函数末尾有一个额外的

分号是需要在第6行中添加的语句的结尾,位于
(5/7,18/25)
之后

函数需要返回
结果

var themax=函数(a,b){
“严格使用”;
var结果;
结果=a>b?[“a”,a]:[“b”,b];
控制台日志(结果);
返回结果;
}(5/7,18/25);

console.log(最大);
右括号太多

})(5/7,18/25)
 ^
除此之外,我建议使用ternay作为数组的赋值

var themax=函数(a,b){
“严格使用”;
var结果=a>b?[“a”,a]:[“b”,b];
控制台日志(结果);
返回结果;
}(5 / 7, 18 / 25);

console.log(最大);
右括号太多

})(5/7,18/25)
 ^
除此之外,我建议使用ternay作为数组的赋值

var themax=函数(a,b){
“严格使用”;
var结果=a>b?[“a”,a]:[“b”,b];
控制台日志(结果);
返回结果;
}(5 / 7, 18 / 25);

console.log(最大);
您刚刚忘记在函数之前打开括号:

var theBiggest = (function(a,b) {
"use strict";
var result;
a>b ? result = ["a", a] : result = ["b", b];
console.log(result);    
})(5/7,18/25)

console.log(theBiggest);

您只是忘记了在函数之前打开括号:

var theBiggest = (function(a,b) {
"use strict";
var result;
a>b ? result = ["a", a] : result = ["b", b];
console.log(result);    
})(5/7,18/25)

console.log(theBiggest);
  • 代码第6行缺少分号
  • 因为您需要在每个表达式(行)的末尾添加一个分号,该分号后面紧跟着另一个表达式。因此
    (5/7,18/25)
    应该是
    (5/7,18/25);

  • 应为赋值或函数调用,但在第4行看到了表达式
  • 因为不应该在三元运算符中使用赋值,实际上,应该只使用返回值

  • 如果有一个不必要的右括号,还需要返回结果
  • var themax=函数(a,b){
    “严格使用”;
    var结果=a>b?[“a”,a]:[“b”,b];
    控制台日志(结果);
    返回结果;
    }(5/7,18/25);
    console.log(最大);
  • 代码第6行缺少分号
  • 因为您需要在每个表达式(行)的末尾添加一个分号,该分号后面紧跟着另一个表达式。因此
    (5/7,18/25)
    应该是
    (5/7,18/25);

  • 应为赋值或函数调用,但在第4行看到了表达式
  • 因为不应该在三元运算符中使用赋值,实际上,应该只使用返回值

  • 如果有一个不必要的右括号,还需要返回结果
  • var themax=函数(a,b){
    “严格使用”;
    var结果=a>b?[“a”,a]:[“b”,b];
    控制台日志(结果);
    返回结果;
    }(5/7,18/25);
    console.log(最大);
    分号是语句结尾的“;”字符。通常情况下,js并不关心是否在每个语句的结尾都加上;,但由于使用了严格模式,因此必须加上

    在第六行的结束}-括号之后,我看到一个结束}-括号,但是它的开始括号不见了。你在这里做的是一个立即函数(函数定义和同时调用该函数)。通常在使用立即函数时,整个函数被()括号清楚地表明您实际上是在调用函数,而不是将其分配给变量(本例中是最大的)

    分号是语句结尾的“;”字符。通常情况下,js并不真正关心是否在每个语句的末尾都放一个;但由于您使用的是严格模式,因此有义务将其放在那里


    在第六行的closing}-bracket之后,我看到了一个closing}-bracket,但是找不到它的open括号。这里要做的是一个立即函数(函数定义和同时调用该函数)。通常在使用立即数函数时,整个函数被()括号包围,以清楚地表明您实际上是在调用函数,而不是将其赋给变量(本例中最大的变量)

    不错的地方,但关于分号丢失的警告仍然存在,以及可能的原因和原因是什么。不错的地方,但是关于分号丢失的警告仍然存在,以及可能的原因和原因是什么。作为唯一提到分号错误是由于
    使用strict
    造成的人,做得很好。注:它们通常被称为立即调用函数表达式,而不仅仅是立即调用函数。作为唯一提到分号错误是由于
    使用strict
    引起的人,做得很好。它们通常被称为立即调用的函数表达式,n