zoukankan      html  css  js  c++  java
  • JavaScript 里 var a =a ||{}

    首先,搞明白||的意思。

    1、在js里面,||运算符,比如(A||B)有个很有意思的用处:

    2、系统先判断A表达式的布尔值,是真是假。如果为真,直接返回A。如果为假,直接返回B(不会判断B是什么类型)。

    所以,var a=a||{},这样写的意图就是,先考虑右侧的表达式 a||{}, 根据规则,先判断a的值是否为真(也就是判断a本身是否存在),如果a本身存在,则返回a。如果a不存在,则返回后面的{}。最后再将值返回给a。这样写,虽然看着比较复杂点,但是效率高,特别是判断一些变量,属性或者是传参是否存在,如果存在就直接用,不存在,就赋予一个空变量。相当于下面的简写:

    if(a){

    var a=a;

    }

    else{

    var a={} //将一个空对象传给a

    }

    或这样答

    var a;

    if(a === 0 || a === "" || a === false || a === null || a === undefined) a = {}

    那句话的定义。

    还有你这种情况 a 是函数的入口参数吧,代码是这样的对吧

    function(a){

        var a = a || {}

    }

    它等价于

    function(a){

        if(a === 0 || a === "" || a === false || a === null || a === undefined) a = {}

    }

  • 相关阅读:
    sqlserver中的锁与事务
    策略模式
    异步编程
    并行聚合操作
    EF中的自动追踪与代理
    C#6.0语法糖
    EF中使用SqlQuery进行参数化查询时抛出异常
    乐观并发
    为什么那么多公司不用 .NET
    sqlserver 更改跟踪相关知识
  • 原文地址:https://www.cnblogs.com/rdchen/p/10784283.html
Copyright © 2011-2022 走看看