最近的项目要用到javascript,看代码的时候遇到几个不明白的地方,求助达人们。。
1. var aitan = (function () { return { a:function(){
};
};
}()); 上面的return是啥意思,表示public function?
2. var aitan = (function () { return]{ activate: function activate() {} };
}()); 红色的activate 是什么意思呢?
1. var aitan = (function () { return { a:function(){
};
};
}()); 上面的return是啥意思,表示public function?
2. var aitan = (function () { return]{ activate: function activate() {} };
}()); 红色的activate 是什么意思呢?
(function () { return{ activate: function activate() {} };
}());
是匿名函数 ,(函数体)() ,第二个括号,表示立即运行。这个函数返回给了 aitan 一个方法activate
var a = {
f:function(){}
}这个是什么意思?接上面
return a ; 这个是什么意思?
};
};
}()); 上面的return是啥意思,表示public function?
这里的return是返回{
a:function(){};
};这么一个object对象,运行结果aitan = {
a:function(){};
}
2. var aitan = (function () { return{ activate: function activate() {} };
}());
aitan.activate()
activate 表示的是在该返回对象中定义了一个属性名为activate指向的是函数function activate() {}
可以直接通过
aitan.activate()执行该函数
var aitan = (function () {
var obj = {
a:function(){
};
};
return obj;
}());
这样你应该看的懂吧。其实就是一个立即执行的匿名函数返回了一个json对象。所以你可以aian.a();这样用。
var a={}
a.func1=function (){};
var a={
function func1(){}
}
var a={
func1: function (){}
}
这三种写法都是一个效果,定义一个a对象,他有一个func1的方法。
关键是来了一个 var a={ func1:function func1()
{
}
}
2个func1,第一个func1 是干啥的。。
(function(){}()) ;
//等价于
(function(){})();
//等价于
function a(){};a();
效果也是一样的. 第一个func1是对象的一个属性,让他可以通过属性调用函数。第二个就是function func1(){} 是正规的js定义函数。因为通常都封装在对象内部。函数名没什么用,所以写作错匿名函数,就是下面一种写法。效果都是将func1指向了那个函数的引用。
activate: function activate() {}
};json 语法 {} 表示对象。 [] 表示数组activate 是对象的键
function activate() {} 键对应的值。
可以这样看。
var obj={};obj.activate =function activate() {};return obj;