JS里将函数赋值给变量和将函数名赋值给变量有什么区别?
3个回答
推荐于2017-09-06 · 知道合伙人教育行家
关注
展开全部
函数功能:关联数组,实现数组相加功能,但并不影响原先数组,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,得到的结果将是一个新的空数组
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,得到的结果将是一个新的空数组
展开全部
就用你上面那个例子
当var x=aaa()时.
x的值就是aaa函数的执行结果,也就是return的那个5;
当var x=aaa时
x的值就是aaa函数的代码,
也就是
function aaa(){
return 5;
}
这段。
相当于x现在就是一个function.
这个时候你可以试着这样输出:alert(x());
看下是什么结果,你就明白了。
当var x=aaa()时.
x的值就是aaa函数的执行结果,也就是return的那个5;
当var x=aaa时
x的值就是aaa函数的代码,
也就是
function aaa(){
return 5;
}
这段。
相当于x现在就是一个function.
这个时候你可以试着这样输出:alert(x());
看下是什么结果,你就明白了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
功能一样,不是将函数名赋值给变量的话比较灵活,因为该函数可多次调用。
追问
function aaa(){
return 5;
}
window.onload=function(){
var x=aaa;
//var x=aaa();
alert(x);
}
以上的两种答案不一样,求好心人解释下,越详细越好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询