JavaScript中如何通过匿名函数获取数据并将返回值存入变量
问题原因
你当前代码里的str存储的是函数本身,而非函数执行后的返回值,所以直接打印str只会输出函数定义,无法得到目标值'3'。
实现方案
以下提供3种常见实现方式,按需选择即可:
- 使用立即执行函数(IIFE)直接得到返回值
适合不需要复用该逻辑的场景,写完直接执行拿到结果赋值给str:y = "<3"; let str = (() => { if(y.length == 2){ return y[1]; } })(); console.log(str); // 输出 '3' - 先定义函数,再调用赋值
适合该取值逻辑需要多次复用的场景:y = "<3"; // 先定义取值函数 const getSecondChar = () => { if(y.length == 2){ return y[1]; } } // 调用函数拿到返回值赋值给str let str = getSecondChar(); console.log(str); // 输出 '3' - 简化逻辑直接赋值
如果逻辑非常简单,不需要封装成函数,可以直接用三元表达式一行完成:y = "<3"; let str = y.length === 2 ? y[1] : ''; console.log(str); // 输出 '3'
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

