为什么当我在其他函数定义中调用全局声明的箭头函数时,我得到“未定义”?

时间:2018-02-04 20:54:14

标签: javascript scope arrow-functions

功能1和功能2都相同但语法不同。问题是,当我在isItAPalindrome函数中调用函数2(箭头函数语法)时,它给出了一个“未定义”错误。但是当我在isItAPalindrome函数中声明函数2时,它不会给我任何错误。

功能1:

function reverseStr(str){
    return str.toLowerCase().split('').reverse().join('');
}

功能2:

const reverseStr = (str) => str.toLowerCase().split('').reverse().join('');

当我调用函数1时,它按照预期的方式工作。

 function isItAPalindrome(str) {

//When I call the arrow function here it works.
//const reverseStr = (str) => str.toLowerCase().split('').reverse().join('');

if (str.toLowerCase() == reverseStr(str)) {
    return "It's a palindrome!";
} else {
    return "It's not a palindrome!";
}
}

console.log(isItAPalindrome("sum mus"));

为什么会出现箭头函数?

0 个答案:

没有答案