Javascript 为什么以下箭头函数获胜';t执行,但一个简单的if语句会执行吗?

Javascript 为什么以下箭头函数获胜';t执行,但一个简单的if语句会执行吗?,javascript,conditional-operator,arrow-functions,Javascript,Conditional Operator,Arrow Functions,代码有问题吗?或者我不知道如何在没有特别调用函数的情况下启动函数 代码: let age=prompt('你多大了?'); //无法执行的箭头函数: ()=>{return(年龄{ 让年龄=数字(提示(问题)); 如果(!isNaN(年龄)){ 警报(如果您只定义了执行函数时会发生什么情况,那么您永远不会实际调用它。必须调用函数才能执行它们。iLife可能会有所帮助:(()=>{…})(;。尽管不清楚要在何处使用该函数的返回值。“我是否不了解如何在不专门调用函数的情况下启动函数?”您可以在不使用

代码有问题吗?或者我不知道如何在没有特别调用函数的情况下启动函数

代码:

let age=prompt('你多大了?');
//无法执行的箭头函数:
()=>{return(年龄<18岁?警惕(“你太年轻了!”):警惕(“欢迎!”);};
//这执行得很好:

JavaScript中的if(age函数本身可以是变量。到目前为止,您的代码所做的是创建一个函数,但实际上并没有将其分配给变量。所以您说的是“这里有一个要运行的函数”,但实际上从未将该函数保存到任何地方。这里有一些方法可以执行

  • 只需将代码保持为if语句

  • 将函数分配给变量,并按如下方式调用:

    var checkAge = (a)=> { return (a < 18 ? alert('You are too young!') : alert('welcome!')); };
    checkAge(a);
    

  • 因为这意味着您可以随时在代码中的其他地方再次使用该函数。

    这就是您想要做的:

    const checkAge=(问题=‘你多大了?’)=>{
    让年龄=数字(提示(问题));
    如果(!isNaN(年龄)){
    
    警报(如果您只定义了执行函数时会发生什么情况,那么您永远不会实际调用它。必须调用函数才能执行它们。iLife可能会有所帮助:
    (()=>{…})(;
    。尽管不清楚要在何处使用该函数的返回值。“我是否不了解如何在不专门调用函数的情况下启动函数?”您可以在不使用
    ()
    显式调用函数的情况下执行函数。但是,这里真的需要这样做吗?返回
    undefined
    的目的是什么?
    var checkAge = ()=> { return (age < 18 ? alert('You are too young!') : alert('welcome!')); };
    
    var checkAge = (a)=> { return (a < 18 ? alert('You are too young!') : alert('welcome!')); };
    checkAge(a);