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

我这样写 好像不行诶

var num=document.write((Math.random())*10);

document.write(Math.round(num));


正在回答

5 回答

var num=.(Math.random())*10;

document.write(Math.round(num));

是这样子,你第一行的得到的随机数不用输出来。

2 回复 有任何疑惑可以回复我~
#1

慕前端9918592 提问者

对哈!但是这样写输出是不对的吗
2016-07-22 回复 有任何疑惑可以回复我~
#2

轻描柳絮 回复 慕前端9918592 提问者

你把write函数的返回值给了num,而不是生成的随机数
2016-07-22 回复 有任何疑惑可以回复我~
#3

慕前端9918592 提问者 回复 轻描柳絮

我懂了,多谢多谢
2016-07-22 回复 有任何疑惑可以回复我~

因为你传入Math.round()这个方法的参数num他不是一个数值类型的数据,num的类型是undefined,所以对他进行四舍五入的结果就是一个NaN。

var num=(Math.random())*10;

document.write("取得的随机数是:"+num);

document.write("四舍五入后的数值是:"+Math.round(num));


1 回复 有任何疑惑可以回复我~
#1

慕前端9918592 提问者

哦,原来是这样,我懂了,num被赋值的不是一个数据,而是一个输出方法,所以在下一句输出语句中num的类型是undefined,多谢多谢
2016-07-22 回复 有任何疑惑可以回复我~
#2

qq_二冬_0 回复 慕前端9918592 提问者

是的,就是这个意思。
2016-07-22 回复 有任何疑惑可以回复我~

var是定义  =后面应该是个值,可是后面跟输出语句肯定是不对的啦

1 回复 有任何疑惑可以回复我~
#1

慕前端9918592 提问者

对对就是这样的,谢谢你
2016-07-22 回复 有任何疑惑可以回复我~

要么写一步var num=document.write(Math.round(Math.random()*10));

写两步就只在最后输出就行,因为你输出就相当于已经运行了一次,你那样相当于运行了两次。

1 回复 有任何疑惑可以回复我~
#1

慕前端9918592 提问者

好,谢谢哈
2016-07-22 回复 有任何疑惑可以回复我~

怎么有两次随机数

1 回复 有任何疑惑可以回复我~
#1

慕前端9918592 提问者

没有啊
2016-07-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我这样写 好像不行诶

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信