这个JavaScript代码在做什么?

时间:2011-11-30 18:51:05

标签: javascript

我在JavaScript中使用此代码:

var JSON;
JSON||(JSON={});

你能说出这段代码在做什么吗?

6 个答案:

答案 0 :(得分:4)

var JSON声明了一个全局(或其他范围)变量。

JSON||(JSON={});首先检查JSON是否计算为true或false,如果为false,则将JSON设置为空对象;

答案 1 :(得分:2)

在这种背景下,这是毫无意义的,

var JSON;

创建一个名为JSON

的变量

第二部分,

JSON||(JSON={});

相当于

if(!JSON){
    JSON = {};
}

这可以全部跳过并写为

var JSON = {};

答案 2 :(得分:1)

它定义了一个名为JSON的变量,然后使用||运算符的短路特性为该变量分配一个空对象,除非该变量具有真值。

答案 3 :(得分:0)

它只是使JSON成为一个空对象。

答案 4 :(得分:0)

我认为这说:如果var'JSON'为null,则创建一个空白的javascript obect。

答案 5 :(得分:0)

此代码执行以下操作:

  1. 声明变量JSONJSON === undefined
  2. 如果{}是假名值,则将空对象(JSON)分配给JSON
  3. 虚假值包括:nullundefined""(空字符串),0NaNfalse

    JSON已通过var JSON声明,因此设置为undefined,这意味着操作JSON||... 的右侧将是执行。换句话说,所有代码都是:

    var JSON = {};