js中的IIFE函数[重复]

Posted

技术标签:

【中文标题】js中的IIFE函数[重复]【英文标题】:IIFE function in js [duplicate] 【发布时间】:2020-08-13 13:45:16 【问题描述】:
var sam = 
    name :"san",
    age:56,
    lastname:"tom"

 ((name,lastname)=>
    console.log(name);
    console.log(lastname);
)(sam);

TypeError: (intermediate value)(intermediate value)(intermediate value) 是 不是函数 y 它显示错误

【问题讨论】:

您忘记了对象字面量后的;,因此它后面的括号试图将其作为函数调用(IIFE 作为参数传递给它) 【参考方案1】:

var sam = 
  name: "san",
  age: 56,
  lastname: "tom"
;

(person => 
  console.log(person.name);
  console.log(person.lastname);
)(sam);

或者像你的例子那样使用对象解构

var sam = 
  name: "san",
  age: 56,
  lastname: "tom"
;

((name, lastname) => 
  console.log(name);
  console.log(lastname);
)(sam);

或者使用旧的函数语法

var sam = 
  name: "san",
  age: 56,
  lastname: "tom"
;

(function(person) 
  console.log(person.name);
  console.log(person.lastname);
)(sam);

【讨论】:

以上是关于js中的IIFE函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JS-[IIFE&闭包]

JS-立即执行函数表达式(IIFE)

JS-立即执行函数表达式(IIFE)

js 立即调用函数 IIFE(Immediately Invoked Function Expression)

更改函数JS中的全局变量[重复]

如何通过vue实例调用单独的JS文件中的函数[重复]