您的位置:首页 > Web前端 > JavaScript

javascript 面向对象深入学习-----(一)

2014-11-16 19:49 281 查看
对象是JS的基本数据类型,是动态的,可以创建,添加,删除,查找,检测,枚举的

js对象分为:内置对象 宿主对象 自定义对象
js对象属性分为:自有属性 继承属性

一:内置对象 ---- 就JS定义的对象和类 Date(时间) Math(元算) Array(数组) RegExp(正则) String(字符串) number(数子)等等
这些对象都是JS自己定义的,可以直接去调用

例如:字符串大写 : var ddd = "ddddd" ; console.log(ddd.toUpperCase())
得到得到0-1之间随机数: var nums = Math.random();
二:就是 JS嵌入的宿主环境定义的 例如 htmlelement对象均为宿主对象 可理解为浏览器提供的对象 BOM对象和DOM 对象
Bom对象: 即理解为浏览器对象:核心的就是浏览器对象:window.open window.confirm window
DOM对象:及时DOM树了
三:自定义的对象
js :定义对象有两种方法:
1:var o =new Object 或者 var o = {}(对象的直接量 倒是可以用来定义JS中的配置文件)
var o={
"name-title":"js",
"sub-title":"the defind",
}
2: var o= Object.create({x:9,y:9}); Object.create 值在ECMAScript5.0中才有 ECMAScript3.0没有 IE7 支持ECMAScript要兼容
//可以继承用
function inherit(p){
if(p == null) throw TypeError;
if(Object.create){ //ECMAScript3.0
return Object.create(p);
}
var t = typeof p;
if(t != "Object" && t !="function"){ //兼容ECMAScript3.0
function f(){};
f.prototype = p;
return new f();
}
}
四:对象的属性:
设置属性的方法:
var o ={name:"xiaozhao"}; //设置属性
var author = o.name; 或者 var author = o['name']//获得属性
delete o.name 或者 delete o['name'] //删除属性
属性 有可读写 可枚举 可配置
方法如下:
判断一个对象时候有此属性 hasOwnproperty()和propertyIsEnumerable()
var o ={x:"9999"};
o.hasOwnproperty(x) 或者 o.x !== undefinded //返回真 true
o.hasOwnproperty(y) 或者 o.y !== undefinded //返回真 false
//一个属性的特性:value:““属性值 writable:true|false //可读写 enumerable:true|false //可枚举 configurable:true|false //可读写
//得到对象属性的特性:
Object.getOwepropertyDescriptor(对象名称,属性值)
//属性描述
var code = {x:"1234",y:"56789"};
console.log(Object.getOwnPropertyDescriptor(code,"x"));
//返回:Object {value: "1234", writable: true, enumerable: true, configurable: true}

//设置新建属性的特性
Object.definePeoperty(对象,对象属性,{value: "1234", writable: true, enumerable: true, configurable: true} )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: