WEB开发网
开发学院网页设计JavaScript JavaScript面向对象的支持(上) 阅读

JavaScript面向对象的支持(上)

 2010-09-14 13:37:41 来源:WEB开发网   
核心提示: --JavaScript中通过for..in语法来实现了反射机制,但是JavaScript中并不明确区分“属性”与“方法”,JavaScript面向对象的支持(上)(8),以及“事件”,因此

------JavaScript中通过for..in语法来实现了反射机制。但是JavaScript中并不明确区分“属性”与“方法”,以及“事件”。因此,对属性的类型考查在JS中是个问题。下面的代码简单示例for..in的使用与属性识别:

//---------------------------------------------------------
// JavaScript中for..in的使用和属性识别
  //---------------------------------------------------------
  var _r_event = _r_event = /^[Oo]n.*/;
  var colorSetting = {
  method: 'red',
  event: 'blue',
  property: ''
  }var obj2 = {
 a_method : function() {},
 a_property: 1,
 onclick: undefined
}function propertyKind(obj, p) {
 return (_r_event.test(p) && (obj[p]==undefined || typeof(obj[p])=='function')) ? 'event'
  : (typeof(obj[p])=='function') ? 'method'
  : 'property';
}var objectArr = ['window', 'obj2'];for (var i=0; i<objectArr.length; i++) {
 document.writeln('<p>for ', objectArr[i], '<hr>'); var obj = eval(objectArr[i]);
 for (var p in obj) {
  var kind = propertyKind(obj, p);
  document.writeln('obj.', p, ' is a ', kind.fontcolor(colorSetting[kind]), ': ', obj[p], '<br>');
 } document.writeln('</p>');
}

上一页  3 4 5 6 7 8 9 10  下一页

Tags:JavaScript 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接