js:不能给函数返回值赋值的问题求助

zzhao1979 2015-03-24 09:07:18
JS代码

function funa(){
var touhao='';
var quhao='';
if((haoma(5+5+haoma(2))-haoma(2))%2 == 0 ){
touhao=++haoman('toushuang');
}else{
quhao=++haoman('toudan');
}
if(quhao !="")
{
if(touhao == "")
{
touhao=haoman("quanbao");
}
touhao=++"woyaoqu" +","+quhao;
}
return touhao;
}
function haoman(str)
{
var fanhuihaoma;
var fengefu;
var haomajialing;
for (i = 0; i < 27; i++)
{
if(fanhuihaoma != "")
{
fengefu = ",";
}else{
fengefu = "";
}
if(i<10){
haomajialing = "0"+i;
}else{
haomajialing = i;
}
if(str=="toushuang"){
if(i % 2 == 0){
fanhuihaoma =++fengefu+haomajialing;
}
}
if(str=="toudan"){
if(i % 2 == 1){
fanhuihaoma =++fengefu+haomajialing;
}
}

return fanhuihaoma+",";
}

错误描述:


请大神给修改一下,没有接触过JS,搞不懂
...全文
437 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzhao1979 2015-03-24
  • 打赏
  • 举报
回复
谢谢各位的回答,问题解决了
张运领 2015-03-24
  • 打赏
  • 举报
回复
“++”是变量加1然后重新赋值给该变量。会对被操作的变量重新赋值的。

比如:i=1;
++i;
//这个时候,i=2了
//并且,是先执行了自加,才进行后面的操作的。

比如:
var i=1,
	j = 0;

j = ++i;
//j=2
//i=2

j = i++;
//j=2
//i=3

函数是不能执行这个操作的。

我看你应该是想要给返回值加1,直接加1就行,不要用这个自加了。

touhao=haoman('toushuang')+1;

这个时候,你还得要确定haoman返回值是数字,而不是字符串数字。
fengyun817 2015-03-24
  • 打赏
  • 举报
回复
touhao=++haoman('toushuang'); 这个 写错了吧,你是想追加返回值到touhao吧。 touhao+=haoman('toushuang'); 其他的也改下吧。 另haoma函数不存在。
似梦飞花 2015-03-24
  • 打赏
  • 举报
回复
应该它返回的是个常量 比如数字8 字符串"sss"而++运算只能用在变量上 所以需要var a=xx();++a
  • 打赏
  • 举报
回复
touhao=haoman('toushuang')+1;
或者改成
var tmp=haoman('toushuang');
touhao=++tmp;
然后看你代码的意思 貌似应该是
touhao+=haoman('toushuang');//拼接字符串?

87,920

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧