您的位置:首页 > Web前端 > JavaScript

js学习(20160519)

2016-05-19 09:30 519 查看
js高级学习 点击打开链接

1、面向对象

<script>
(function(){
//单例模式
swlSingleTon = function(className, dict){
var funcStr = [];
if(dict){
for(var k in dict){
var tmp = dict[k];
if(typeof tmp === "string"){
tmp = "\"" + tmp + "\"";//字符串
}
funcStr.push(" this." + k + " = " + tmp + " ;");
}
}

var str = [];
str.push(" " + className + " = (function(){ ");
str.push(" function " + className + "(){ " + funcStr.join("") + " } ");
str.push(" var _instance; ");
str.push(" function Instance(){ ");
str.push("     if(!_instance){ ");
str.push(" 	       _instance = new " + className + "(); ");
str.push("     }");
str.push(" 	   return _instance; ");
str.push(" } ");
str.push(" return { ");
str.push("     Instance : Instance ");
str.push(" } ");
str.push(" })(); ");
// console.log(str.join(""));
eval(str.join(""));
}

Person = (function(){
function Person(){
this.tall = function(){
return "person tall";
}
}

// 单例模式
var _instance;
function Instance(){
if(!_instance){
// alert(1);
_instance = new Person();
}
return _instance;
}
return {
Instance : Instance
}
})();

swlSingleTon("Man", {
name: "LH",
age: 25,
hair: function(){
return "man hair";
}
});

swlSingleTon("Woman", {
name: "LH",
age: 25,
hair: function(){
return "woman hair";
}
});
})();

alert(Person.Instance().tall());
alert(Man.Instance().hair());
alert(Woman.Instance().hair());
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: