我试图让访问者有5%的机会看到图像。
<script>
var rand = Math.round(Math.rand() * 20)
if (rand === 13) {
document.write("<img src="http://ima.gs/69/666/314/Placeholder-401x401.png" />")
}
</script>
运行脚本时没有任何反应。
答案 0 :(得分:6)
在Google Chrome浏览器中展示您的开发者工具cmd+shift i
或ctrl+shift i
。
随机方法不称为rand
,称为random
。
var rand = Math.round(Math.random() * 20);
这是您在javascript控制台TypeError: Object #<Object> has no method 'rand'
开发人员工具,它们是什么以及如何使用它们:
编辑:
正如其他人指出的那样,你的document.write参数也有问题。显示在"
附带的字符串中的任何"
都必须转义为不会将输出中断为\"
,否则可以使用'
。
正确转义字符串
"<img src=\"http://ima.gs/69/666/314/Placeholder-401x401.png\" />"
"<img src='http://ima.gs/69/666/314/Placeholder-401x401.png' />"
'<img src="http://ima.gs/69/666/314/Placeholder-401x401.png" />'
'<img src=\'http://ima.gs/69/666/314/Placeholder-401x401.png\' />'
答案 1 :(得分:3)
看起来你的双引号太多了。试试这个:
document.write("<img src='http://ima.gs/69/666/314/Placeholder-401x401.png'/>")
答案 2 :(得分:3)
除了使用Math.rand()
代替Math.random()
以及其他人提到的一些引用问题之外,您的代码可能会更短,效率更高。
<script>
if(Math.random() < 0.05) {
document.write("<img src='http://ima.gs/69/666/314/Placeholder-401x401.png' />");
}
</script>
此外,我发现0.05
更清楚地反映5%
而不是“13是20中的1,这是5%”; - )
答案 3 :(得分:3)
要生成随机数,请使用Math.random()
,而不是Math.rand()