反射

JavaScript中能利用 for in 语句实现反射,如:
// 下面这段语句遍历obj对象的所有属性和方法
for (var p in obj) {
if (typeof(obj[p]=="function") {
obj[p](); // 执行函数,也还可以传参数
} else {
alert(obj[p]);
}
}

obj.函数名(参数列表); // 这样执行函数,可以使用下面的反射形式来代替
obj["函数名"](参数列表);


26. 过滤数组的重复值
/**
* 返回没有重复值的新数组,原数组不改变
* @return 返回过滤重复值后的新数组
*
* @example
* var arr = ['a', 'b', 'c', 'd', 'c', null];
* var arr2 = arr.unique(); // arr2 为: ['a', 'b', 'd', 'c', null]
*/
Array.prototype.unique = function() {
var result = [];
// 注意学习此算法
for (var i=0,l=this.length; i<l; i++) {
for (var j=i+1; j<l; j++) {
if (this[i] === this[j]) j = ++i;
}
result.push(this[i]);
}
return result;
};

posted @   范仙女~~~  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示