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} )
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} )
相关文章推荐
- 深入学习javascript面向对象及高级特性
- javascript 设计模式之单体模式 面向对象学习基础
- PHP面向对象学习之二:深入了解面向对象高级特性
- [原]Java程序员的JavaScript学习笔记(6——面向对象模拟)
- 深入学习理解jQuery中的extend方法以及JavaScript中对象的复制
- javascript学习十二:面向对象之extends
- javascript 设计模式之单体模式 面向对象学习基础
- 深入学习JavaScript对象
- Java程序员的JavaScript学习笔记(6——面向对象模拟)
- JavaScript高级程序设计学习笔记--面向对象程序设计
- 深入js的面向对象学习篇(继承篇)——温故知新(三)
- 关于JavaScript的面向对象和继承有利新手学习
- Javascript 面向对象学习1 Function function Object
- 关于JavaScript的面向对象和继承有利新手学习
- javascript学习十:面向对象之对象的创建
- JavaScript学习总结_六.面向对象
- 黑马程序员-javaSE学习之面向对象深入学习
- 深入js的面向对象学习篇——温故知新(一)
- Java面向对象深入学习:制作一个画图工具并计算那些图形的面积和周长。
- JavaScript学习笔记(七)----面向对象的程序设计