日期:2014-05-16  浏览次数:20466 次

这句话什么意思var plugin = $.editable.types[settings.type].plugin || function () { };
http://www.appelsiini.net/projects/jeditable  

  /* setup some functions */
  var plugin = $.editable.types[settings.type].plugin || function () { };
  var submit = $.editable.types[settings.type].submit || function () { };
  var buttons = $.editable.types[settings.type].buttons
  || $.editable.types['defaults'].buttons;
  var content = $.editable.types[settings.type].content
  || $.editable.types['defaults'].content;
  var element = $.editable.types[settings.type].element
  || $.editable.types['defaults'].element;
  var reset = $.editable.types[settings.type].reset
  || $.editable.types['defaults'].reset;

------解决方案--------------------
var plugin = $.editable.types[settings.type].plugin || function () { };
如果前面这个$.editable.types[settings.type].plugin 方法 有定义 ,就使用它,否则就定义一个空方法 给plugin这个变量

一般这种写法 主要是为了统一调用 plugin()方法 时不用判断 其是否是一个方法 ,而不出错
------解决方案--------------------
比如
给 y赋值,那么
JScript code

            var x, y;
            if( x ){
                y = x;
            }else{
                y = 1;
            }
            alert(y)

------解决方案--------------------
JScript code

var plugin = $.editable.types[settings.type].plugin || function () { };

------解决方案--------------------
var plugin;
if($.editable.types[settings.type].plugin){plugin=$.editable.types[settings.type].plugin}
else plugin=function () { };

js 非常灵活。

用 逻辑运算符(断路运算) 简洁 高效