看了itcast里面老师的讲课,下面是我一些体会
(function(){
window['czf'] = {} 命名空间
var $$= function(){
alert('这个是私有的方法');
}
window['czf']["$"] = $$;
$11= function (){
alert("这个是public方法"); 直接调用
}
function fn(){
alert("这个也是私有"); =var a=function(){}
}
}();
这里可以分有2步来
var fn = function(){};
fn();
这里$11相当与是全局变量,可以任意调用,一般是用window['czf']["$"] = $$; 可以有自己的命名空间。
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
html xmlns="http://www.w3.org/1999/xhtml"
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
title无标题文档/title
script type="text/javascript" src="czf.js" /script
/head
body onload="$11();"
input type="button" onclick = "czf.$();"/
/body
/html
还有一种写法
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)function(){
var MSDNMagNS = {};
MSDNMagNS.Pet = function(name) { alert(name); };
MSDNMagNS.Pet.prototype.toString = function() {
alert('prototype.tostring');
};
MSDNMagNS.Pet.toString = function() {
alert("Pet.toString ");
};
var pet = new MSDNMagNS.Pet('Yammer');
pet.toString();输出prototype.tostring
}();
之前一直对prototype不理解,通过这个例子可以知道了
在new 对象时候,添加对象的属性或方法。
下面的例子,大家也可以测试看看
var a=function()
{
$1=function(){
alert("OKYZX");
};
//$1();
this.$2 = function(){
alert("OK$2");
}
};
a.prototype.$r = function(){
alert("a.prototype.$r,必须实例化");
}
a.$3 = function (){
alert("OK,$3");
}
a();
$1();
var aa = new a();
aa.$2();//内部一个方法
aa.$r();//必须实例化,才可以调用
a.$3();
推荐大家去看看JavaScript 高级程序设计,第二书店有连载,不错的说。