它给了我一个错误,尽管我将切片从数字转换为字符串,但切片不是函数. 问题在哪里?

var weight = prompt("Enter your Weight");
var height = prompt("Enter your Height");
function bmi(weight, height) {
  var result = weight / Math.pow(height, 2);
  var count = result.toString.slice(0, 4);
  if (result < 18.5) {
    alert("Your result is " + count + ", so you are underweight.");
  } else if (result >= 18.5 && result <= 24.9) {
    alert("Your result is " + count + ", so you have a normal weight.");
  } else {
    alert("Your result is " + count + ", so you are overweight.");
  }
}

bmi(weight, height);

我将切片从数字转换为字符串,但给出了相同的错误,问题出在哪里?

推荐答案

你实际上并没有拨打toString().

toString解析为函数对象,然后使用()调用该对象以获得字符串.您看到的错误是告诉您函数对象本身没有slice()方法,这是真的.

Javascript相关问答推荐

try 在addEventHandler内设置表单的文件输入.值=空

用相器进行向内碰撞检测

如何将拖放功能添加到我已自定义为图像的文件输入HTML标签中?

我不知道为什么我的JavaScript没有验证我的表单

按钮未放置在html dis位置

如何在Angular中插入动态组件

查找最长的子序列-无法重置数组

如何从隐藏/显示中删除其中一个点击?

PDF工具包阿拉伯字体的反转数字

S文本内容和值不必要的不同

在Java中寻找三次Bezier曲线上的点及其Angular

扩展类型的联合被解析为基类型

在VS代码上一次设置多个变量格式

<;img>;标记无法呈现图像

使用Ace编辑器对子组件实例的native-element 进行Angular 获取时面临的问题

图表4-堆叠线和条形图之间的填充区域

处理app.param()中的多个参数

P5.js中的分形树

在SuperBase JS客户端中寻址JSON数据

如果NetSuite中为空,则限制筛选