为了账号安全,请及时绑定邮箱和手机立即绑定

读js权威指南“作为值得函数”产生了疑惑,求释疑

读js权威指南“作为值得函数”产生了疑惑,求释疑

小怪兽爱吃肉 2018-11-28 22:13:25
首先函数声明和函数表达式理解的也不是很透彻,基本使用的都是函数声明,也知道会前置这点。我印象中也不知道函数表达式有没有函数名?因为也没怎么用过。今天看到了把函数赋给变量,发现和函数表达式似乎一样,希望谁能够解答下,谢谢。        var s = function square (x){                return x*x;            }            console.log(square(4));            console.log(s(4))上面的问题1,下面是问题2,为什么上面的代码报错“square is not defined”,而下面的代码正常的输出,是因为上面的代码属于函数表达式,所以不支持square(4)是吗?写到这儿突然想问,函数表达式就是在函数function前面同一行写上<var xx =>,而把函数赋给变量只是在函数声明的基础上,另起一行<var xx = 函数名>,是这样么?求解,谢谢        function square (x){                return x*x;            }            var s = square;            console.log(square(4));            console.log(s(4))
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

关于问题二,
表达式,就是直接创建一个函数作变量,外部这个函数不存在。
而函数赋予变量,则是先有函数,再有变量。

于是有了问题一的答案,s 本身是函数,外部是不存在这个函数的,于是报错不存在。
另外,应该是写成:

var s = function() {
.......
}

https://img1.sycdn.imooc.com//5c25e4000001748c06280358.jpg

查看完整回答
反对 回复 2018-12-28
  • 1 回答
  • 0 关注
  • 435 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信