之前写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 上面没有定义此属性