1.js里的对象直接量,比如:
var point={x:2.3,y:-1.2};
2.构造函数
- function Rectangle(w,h)
- {
- this.width=w;
- this.height=h;
- }
- //调用
- var rect=new Rectangle(2,4);
这个Rectangle挂在全局对象下(window对象);
等价于var rect=new window.Rectangle(2,4);
接下来在看一个:
- var sys={};
- sys.Rectangle=function(w,h){
- this.width=w;
- this.height=h;
- };
- var rect=new sys.Rectangle(3,5);
- alert(rect.width*rect.height);
这样就实现了命名空间window.sys解决命名冲突问题。
3.Function.call()方法或apply()
- function sum(x,y)
- {
- return x+y;
- }
- alert(sum(2,3));
- alert(sum.call(null,2,4));
和
- var product=function(x,y)
- {
- return x*y;
- }
- alert(product(2,3));
- alert(product.call(null,2,4));
4.继续研究下Function
看下普通的函数定义形式:
function Hello()
{
alert("hello");
}
可以这样调用
Hello();或者Hello.call(null);
继续看下匿名函数:
function(){alert('hello');}
对它的调用也是:
(function(){alert('hello');})();
或者
(function(){alert('hello');}).call(null);
有了上面的知识就能理解这段代码了:
- (function(){
- this.MooTools = {
- version: '1.3.1',
- build: 'af48c8d589f43f32212f9bb8ff68a127e6a3ba6c'
- };
- }).call(this);
引入mootools.js后,这时把this传入,这里是window全局对象,
上面匿名函数执行后,为window对象添加属性MooTools
可以调用:
alert(MooTools.version);
alert(MooTools.build);
本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/534201,如需转载请自行联系原作者