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

求教关于expando属性
①这里的extend后面加  ({ 怎么理解

②还有expando这个也不明白,没有变量符号var,不知道这个是什么意思

③还有expando:在语法中我也没见过

jQuery.extend({
// Unique for each copy of jQuery on the page
// Non-digits removed to match rinlinejQuery
expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ),

noConflict: function( deep ) {
if ( window.$ === jQuery ) {
window.$ = _$;
}

if ( deep && window.jQuery === jQuery ) {
window.jQuery = _jQuery;
}

return jQuery;
},

// Is the DOM ready to be used? Set to true once it occurs.
isReady: false,

// A counter to track how many items to wait for before
// the ready event fires. See #6781
readyWait: 1,

// Hold (or release) the ready event
holdReady: function( hold ) {
if ( hold ) {
jQuery.readyWait++;
} else {
jQuery.ready( true );
}
},

------解决方案--------------------
这么说吧,和 var arr = [1,2,3]; 数组直接量类似。

var obj={x:123,y:456}; 是Object 对象的直接量
它等于
var obj = new Object(); 
obj.x=123;
obj.y=456;

由于js中一条语句可以分多行书写,可以写成这样
var obj={
  x:123,
  y:456
};

用对象的直接量作为函数的参数,就成了这样子,很神奇吧
extend({
  x:123,
  y:456
});