javascript - 用 OR 条件声明对象的目的是什么?

标签 javascript

var myApp = myApp || {}; 

我明白上面一行的作用。但它的最佳用例是什么?为什么这种格式不用于 Python 或 PHP 等其他语言?

最佳答案

这种代码用于避免代码中有关未设置变量的错误。就像在这种情况下:

function sayHello(name) {
    return "Hello " + name;
}

sayHello(); // "Hello undefined"

function lengthOf(obj) {
    return obj.length;
}

lengthOf(); // ReferenceError cannot read property length of undefined

您可以通过添加简单的一行来避免它:

function sayHello(name) {
    var name = name || "";
    return "Hello " + name;
}

sayHello(); // "Hello "
sayHello("Mike"); // "Hello Mike"

function lengthOf(obj) {
   var obj = obj || [];
   return obj.length;
}

lengthOf(); // 0
lengthOf([1,2,3]); // 3

在 PHP 中,您可以使用 isset() 函数来实现:

if (!isset($variable)) $variable = "";

现在您可以使用您的变量而不会出现任何错误或意外结果。

关于javascript - 用 OR 条件声明对象的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26118740/

相关文章:

javascript - 将 DOM 元素移动到父级元素的顶部和所选元素之后

javascript - 设置选择元素的选定值

java - 从用html编写的javascript调用java类

javascript - 直接在 JS 中动态改变 transition 还是使用 css classes 对性能更好?

javascript - 重新插入div的位置

javascript - 如何返回函数结果并将它们设置到标签的innerHTML

javascript - VML 是否具有与 SVG 的标记元素等效的元素?

javascript - jQuery 计数器 : Stop type when reach limit

javascript - 如何使用自定义键盘事件和 keyCode 更改输入/文本区域值?

javascript - 预先设置 CKEditor 的值