javascript - 仅使用 ' ' 标记声明 JavaScript 变量

标签 javascript variables declare

我看到一位大师这样做:

var example = '';

后来他继续这样说:

example += '<div>just a div</div>';

我想知道这样做是否有什么不同:

var example;

example += '<div>just a div</div>';

我真的不知道通过执行第二种方法我是否做错了,我必须像第一个示例所示的那样进行编码。

<小时/>

更新了!

非常感谢您的回答,好吧,我明白了,我需要定义我的变量才能与它一起工作,但是另一个问题来了......这位大师也在这样做:

var guess;

然后他就这样做了:

guess += myfunction( upper );

其中 myfunction 声明如下:

function myFunction( upper ){
    return Math.floor( Math.random() * upper ) + 1;
}

那么,为什么这里有所不同呢?请问你们谁能回答一下吗?

谢谢!

<小时/>

第二次更新!

再次感谢!

我决定把JS大师所做的全部代码贴出来,目前我还不太明白,所以也许你能解开我的疑虑。

var randomNumber = myFunction( 10 );
var guess;
var attempts = 0;
var answer = false;

function myFunction( upper ){
    return Math.floor( Math.random() * upper ) + 1;
}

do{
    guess = prompt( "I created a number from 1 till 10, can you guess it?");
    attempts += 1;
    if( parseInt( guess ) === randomNumber ){
        answer = true;
    }
}while( ! answer )
    document.write( "Took you " + attempts + " attempts to guess the number " + randomNumber);

请看一下:

var guess;

以及稍后是如何声明的,那么为什么这里工作得很好,但在我的第一个示例中我必须在声明变量时放置“”?

我希望我的问题对您来说足够清楚!

感谢您的时间和耐心!

最佳答案

当你这样做时:

var example;

example += '<div>just a div</div>';

你最终会得到:

`"undefined<div>just a div</div>"`

这是因为当您不初始化变量时,它是undefined,当您尝试添加它时,它可以转换为合理的字符串“undefined”到另一个字符串。

当你这样做时:

var guess;

guess += myfunction( upper );

function myFunction( upper ){
    return Math.floor( Math.random() * upper ) + 1;
}

您正在将一个数字添加到未定义。这会导致 NaN(不是数字),因为 undefined 无法转换为合理的数字

您下次可以通过打开浏览器的开发人员工具并在控制台中运行代码来自行检查。

编辑:

当你这样做时:

var guess;

guess = prompt( "I created a number from 1 till 10, can you guess it?");

没有问题,因为您只需将一个字符串分配给guess变量即可。在前面的示例中,您向变量添加了一些内容,这意味着如果它们是不同的类型,那么 JavaScript 必须尝试做一些明智的事情。

关于javascript - 仅使用 ' ' 标记声明 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44079437/

相关文章:

python - 如何在多个 google appengine 实例上保持全局变量持久?

sql - 如何将 select 语句的结果存储在变量中?

javascript - 如何为多个函数声明变量

javascript - 删除注释会提高代码性能吗? JavaScript

javascript - 相同的按钮样式但不同的输出

javascript - 源代码中 CSS 段和 JS 函数放置顺序的权衡

javascript - jquery datepicker 和 jquery mask 不工作

javascript - 获取从 XML 到 JavaScript 的变量值。纯粹的方式

angular - "declare global{ interface Window{ analytics: any; } }"在 angular/Typescript 中是什么意思?

c - 无论如何,如何在 C 中使用已声明但未定义的函数?