你的位置:首页 > Java教程

[Java教程]JavaScript_object基础


之前写Java时老是有点蒙,大部分都是用jQuery,但原理还不是很清楚,最近一段时间在系统的学习JavaScript,有什么问题或错误请指出,多谢.....................

 

Object所有类的基础类

var obj = new Object();
var obj = {}; //实例化对象
给对象设置属性分为两种:
  1.使用直接量的方式:对象.属性/方法,这种方式直观、易懂
  obj.name = '张三';
  obj.age = 20;
  obj.sex = '男';
  obj.say = function(){
    alert("hello World");
  }
  2.使用 "[]" 的方式:对象.['属性/方法'],当使用这种方法时,括号内必须加"" 或 '',方式比较严格
  obj['birthday'] = '1989-08-07';

获取对象的属性或者方法:对象.属性名/方法
  alert(obj.name); // 张三
  alert(obj.age); // 20
  obj.say(); // hello World

delete 操作符 删除对象的属性或方法的
  delete obj.age;
  delete obj.say;
  alert(obj.age);    //undified
  alert(obj.sex);    //20
  obj.say();       //报错,函数已被删除

遍历一个js对象,for in 语句
  for(var attr in obj){
    alert(attr + ":" + obj[attr]); //会按顺序将数组中的键值对打印,主要值,如果用对象.属性得到undified
  }

Constructor保存对象的创建函数
  alert(obj.constructor);
  var o = [];
  alert(o.constructor);

hasOwnProperty(propertyName) 用于检测给定属性在对象中是否存在,返回boolean类型,在项目中有时会用到,需留意
  var i = {};
  i.sex = '男';
  alert(i.hasOwnProperty('sex'));   //true
  alert(i.hasOwnProperty('age'));   //false

propertyIsEnumerable(propertyName)检测给定的属性是否能被for in 所枚举出来,返回boolean
  alert(i.propertyIsEnumerable('age')); //false 上面没有定义此属性