未捕获类型错误:rand.slice 不是函数

问题描述 投票:0回答:3

我在浏览器控制台上收到以下错误

未捕获类型错误:rand.slice 不是函数

JavaScript

var rand, date;
date = Date.now();
rand = Math.random() * Math.random();
rand = Math.floor(date * rand);
rand = rand.slice(-5); 
document.getElementById("test").innerHTML = rand;

我无法弄清楚这段代码有什么问题。

javascript
3个回答
48
投票

你不能直接对数字进行切片..你可以先转换为字符串,然后

slice
然后

像这样:

rand = rand.toString().slice(-5)

JavaScript 数组 slice() 方法

JavaScript String slice() 方法


11
投票

尝试使用

rand = rand.toString().slice(-5);
代替
rand = rand.slice(-5);

slice
可以用于
array
string
,但不能用于数字。


4
投票

尝试:

rand = (rand+'').slice(-5); 

这将生成随机数,通过与 +'' 组合将其转换为字符串,然后我们可以调用切片函数

© www.soinside.com 2019 - 2024. All rights reserved.