揭示模式可用于将私有方法暴露为公共方法。当为了对象的运转而将所有功能放置在一个对象中以及想尽可能地保护该对象,这种揭示模式就非常有用。
板栗:
var myarray;
(function(){
var astr = "[object Array]",
toString = Object.prototype.toString;
function isArray(a){
return toString.call(a) === astr;
}
function indexOf(haystack,needle){
var i=0,
max = haystack.length;
for( ; i<max; i++ ){
if( haystack[i] === needle ){
return i;
}
}
return -1;
}
myarray = {
isArray : isArray,
indexOf : indexOf,
inArray : indexOf
}
}())
console.log( myarray.isArray([1,2]) ); //输出:true
console.log( myarray.isArray({0:1}) ); //输出:false
console.log( myarray.indexOf(['a','b','z'],'z') ); //输出:2
console.log( myarray.inArray(['a','b','z'],'z') ); //输出:2
console.log(myarray);

本文介绍了揭示模式在JavaScript中的应用,通过此模式可以将私有方法暴露为公共方法,实现对象功能的封装与保护。文章提供了具体示例,展示了如何使用揭示模式创建自包含的对象,并实现数组的is Array与indexOf功能。
178

被折叠的 条评论
为什么被折叠?



