JS里将函数赋值给变量和将函数名赋值给变量有什么区别?

 我来答
沫沫容
推荐于2017-09-06 · 知道合伙人教育行家
沫沫容
知道合伙人教育行家
采纳数:7299 获赞数:44206
2010年毕业,英语六级水平,擅长写作、翻译、同义句转换、完形填空、阅读理解等一系列题型及相关考试。

向TA提问 私信TA
展开全部
函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组。

array.join(separator)
函数功能:将array中的每个元素用separator为分隔符构造成字符串,默认的separator是逗号,当然你可以自己指定separator
事实上join方法最常用的地方在字符串相加,用过js的人都知道js的字符串相加是特别慢且性能特别差的,把大量片段字符串放在一个数组中并用join方法连接比用+连接要快得多。

array.pop()
pop和push方法使数组array像堆栈一样工作。
函数功能:pop方法移除array中的最后一个元素并返回该元素。
如果array是空的,则返回undefined;

array.push(item...)
函数功能:push方法将一个或多个item参数附加到array尾部。但是它不像concat方法那样,push方法不会修改item参数,如果参数item是一个数组,它会将参数数组作为单个元素整个添加到数组中,它返回array的新长度

array.reverse()
函数功能:反转array中元素的顺序,返回当前array
array.shift()
函数功能:移除array中的第一个元素并返回该元素,如果array是空的,它会返回undefined。
shift比pop要慢很多
array.slice(start,end)
函数功能:对array中的一段做浅复制。end参数是可选的,默认值为数组的长度array.length。
如果两个参数中任何一个是负数,array.length将和它们相加来试图将它们成为非负数。
如果start大于等于array.length,得到的结果将是一个新的空数组
添锦绣山色蟠桃K
2012-09-18 · TA获得超过206个赞
知道答主
回答量:220
采纳率:0%
帮助的人:118万
展开全部
就用你上面那个例子
当var x=aaa()时.
x的值就是aaa函数的执行结果,也就是return的那个5;

当var x=aaa时
x的值就是aaa函数的代码,
也就是
function aaa(){
return 5;
}
这段。
相当于x现在就是一个function.

这个时候你可以试着这样输出:alert(x());
看下是什么结果,你就明白了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
siuben
2012-09-15
知道答主
回答量:31
采纳率:0%
帮助的人:7.3万
展开全部
功能一样,不是将函数名赋值给变量的话比较灵活,因为该函数可多次调用。
追问

function aaa(){
return 5;
}
window.onload=function(){
var x=aaa;
//var x=aaa();
alert(x);
}

以上的两种答案不一样,求好心人解释下,越详细越好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式