【问题标题】:Javascript var = " " [duplicate]Javascript var =“”[重复]
【发布时间】:2015-08-08 03:42:11
【问题描述】:

只是想澄清什么 var "randomvariable" = " ";确切的意思。我从来没有真正得到解释,仅从示例中,似乎意味着变量为空并且可以写入?但正在寻找更具描述性的答案。

【问题讨论】:

标签: javascript variable-declaration


【解决方案1】:

“变量”=“”

不正确。因为在左边你应该有一个对象引用,而不是一个实际的对象。

变量 = " "

表示您要将“”字符串分配给variable。

【讨论】:

  • " " 通常可以是空格的值
  • 是的,在这个例子中,我们给字符串分配了一个空格。
【解决方案2】:

它只是一个变量的声明,所以它有一个值(即使它什么都没有,一个空格,一个点,或空值,或其他)。

当您不知道变量是否会取值或者您要在循环中连接值时,最有可能用于防止错误。无论出于何种原因,您可能需要该变量来保存一个值。

【讨论】:

    【解决方案3】:

    这意味着它将为变量分配一个空字符串对象。此对象可以访问所有字符串对象函数,如长度、包含、子字符串、indexOf 等。或者如果需要,您可以将其重新分配给另一个值。

    var var1 = "";
    typeof var1 === "string";  // true
    var1.length === 0;         // true
    

    这与空变量声明相反:

    var var2;
    typeof var2 === "undefined"    // true
    var2.length;                   // Uncaught ReferenceError: var2 is not defined  
    

    【讨论】:

    • var 没有提及“分配内存”(或“创建”对象);对象的创建独立 范围局部变量 (var) 声明。保持变量(或属性)和对象/值之间的区别很重要。
    • 我没有说 var 做了分配。 = "" 可以。
    • “这意味着它将为变量分配内存..”,这是不正确的。它将创建一个[空字符串]值并将其分配给由名称表示的变量(或全局对象属性,取决于范围)。此外,高级语言/标准 ECMAScript 不讨论对象的“内存分配”,更不用说变量(或属性)。
    • 创建对象 = 分配内存
    猜你喜欢
    • 2018-04-01
    • 1970-01-01
    • 2017-09-18
    • 2014-04-04
    • 2020-09-29
    • 2013-08-23
    • 2016-04-05
    • 2018-06-08
    • 1970-01-01
    相关资源
    最近更新 更多