js变量使用前要先定义类型吗?

题目描述

Your task is to drive your car from 1 to 60 Kilometers per hour by printing a pattern.
A hyphen represents the speed of cars.
one hyphen is counted as 1 kph.

简单来讲就是依次输出1到60个连字号。

题目来源及自己的思路

(题目来源于此)[https://edabit.com/challenge/...]。

相关代码

function Go(num) {    var result = "";    for(var i=0; i<num; ++i){
        result+="-";
    }    return result;
}

你期待的结果是什么?实际看到的错误信息又是什么?

num是从1到60依次测试的。所以实际上应该看到1到60个“-”依次输出。如“-”,“--”,“---”。以上代码是正确的,但我尝试着把

var result = "";

改成

var result;

结果就会报错。这是为什么呢?一定要先定义result为字符串吗?


吃鸡游戏
浏览 1229回答 2
2回答

Smart猫小萌

你在考虑字符拼接的时候忘记了result+="-"实际上是result=result+"-"当result没有数据的时候,result与一个字符相加,result是一个"undefined",在这次加完之后,result就变成了"undefined-",然后会继续加。后面就都是正常的了。这个问题出在一个没有赋值的变量参与字符串拼接

蛊毒传说

var result = "";声明了是一个字符串类型,var result; 只声明没有定义类型。+=一般用在number或string类型上
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript