在具有空数组的变量上使用OR操作的目的是什么? [重复]

问题描述 投票:1回答:2

我在我的一个项目页面中找到了在Google Analytics(分析)脚本上的实现。

我想知道第一行的目的是什么:“ myArray || []”“?

为什么要在具有另一个空数组的数组上使用OR操作?

  var myArray = myArray || [];
  myArray.push(['_setAccount', 'UA-39103830-1']);
  myArray.push(['_trackPageview']);
javascript arrays boolean-operations
2个回答
0
投票

此“或”操作将一个空数组分配给myArray(如果不存在)。上面的代码在功能上等效于:

if(myArray == null || myArray==undefined)
    myArray = [];
myArray.push(['_setAccount', 'UA-39103830-1']);
myArray.push(['_trackPageview']);

-1
投票

如果观察下面的代码片段,它将检查伪造的值,例如undefined null0-00n""NaN(还包括空数组[] ),则它将分配权限。

var arr; // undefined
var arr = arr || [];
console.log(arr) // Output: []

var arr = null; // null
var arr = arr || [];
console.log(arr) // Output: []

var arr = ""; // empty string
var arr = arr || [];
console.log(arr) // Output: []

var arr = "Mr.7"; // string
var arr = arr || [];
console.log(arr) // Output: Mr.7
© www.soinside.com 2019 - 2024. All rights reserved.