javaScript 面向对象-对象
2014-01-30 11:55
323 查看
* 对象
* 定义对象:
* new Object()
* {key:value,key:value}
* function 对象名(){属性和方法}
* 操作普通对象的属性和方法:
* 调用:
* 对象.属性名
* 对象.方法名()
* 删除:
* delete 对象.属性名
* delete 对象.方法名
* 修改:
* 对象.属性名 = 新的值
* 对象.方法名 = function(){}
* 操作函数对象的属性和方法:
* var 对象名 = new 函数对象();
* 调用:
* 对象名.属性名
* 对象名.方法名()
* 删除:
* delete 对象名.属性名
* delete 对象名.方法名
* 修改:
* 对象名.属性名 = 新的值
* 对象名.方法名 = function(){}
* 内建对象:基本上与java中的对象保持一致,关注不一致(测试)
//1 new Object()
// var obj = new Object();
//2 直接量方式:最多
// var obj = {
// name : "javascript",
// sayMe : function(){
// alert("javascript");
// }
// }
//3 定义函数对象:最重要
// function obj(){
// //this代表obj对象
// this.name = "javascript";
// this.sayMe = function(){
// alert("javascript");
// }
// }
//定义一个空的对象
// var obj1 = new Object();
// var obj2 = {}
//面试题:以下哪个选项是错误的?D
// var a = {}; //定义一个空的对象
// var b = []; //定义一个空的数组
// var c = //; //定义一个空的正则表达式
// var d = ();
//面试题(百度):要求在alert()中,实现换行
alert("xxx\nyyy");
</script>
// var obj = {
// name : "javascript",
// sayMe : function(){
// alert("javascript");
// }
// }
//调用对象obj的属性和方法
// alert(obj.name); //output javascript
// obj.sayMe(); //output javascript
//删除对象obj的属性和方法
// delete obj.name;
// alert(obj.name); //output undefind
// delete obj.sayMe;
// obj.sayMe(); //output javascript
//修改对象obj的属性和方法
// obj.name = "jscript";
// alert(obj.name); //output jscript
// obj.sayMe = function(){
// alert("jscript");
// }
// obj.sayMe(); //output jscript
function Hero(){
this.name = "HERO";
this.sayMe = function(){
alert("HERO");
}
}
alert(Hero.name);
// var hero = new Hero();
//调用函数对象Hero的属性和方法
// alert(hero.name); //output HERO
// hero.sayMe(); //output HERO
//删除函数对象Hero的属性和方法
// delete hero.name;
// alert(hero.name); //output undefind
// delete hero.sayMe;
// hero.sayMe(); //output undefind
//修改函数对象Hero的属性和方法
hero.name = "hero";
alert(hero.name); //output hero
// hero.sayMe = function(){
// alert("hero");
// }
// hero.sayMe(); //output hero
</script>
和var x={} 相当于直接构造了 Object类的对象
函数对象相当于构造了 一个类 需要构造出对象才能使用
/*
* this的用法:
* * this表示HTML页面中具体的元素内容
* * this表示一个明确的对象
*
* this的用法:程序员又爱又恨
* * 建议:只用会用的
* * 经常搞不清楚this指代谁,尽量不用!
*/
function Hero(){
this.name = "javascript";
this.sayMe = function(){
alert(this.name);
}
}
var hero = new Hero();
hero.sayMe(); //output javascript
</script>
var arr1 = [];
var arr2 = new Array();
alert(typeof arr1); //output object
alert(typeof arr2); //output object
//反转字符串示例(这种方式java与javascript不一样)
// //定义一个字符串
// var str = "abcdefg";
// //利用String对象的split()方法,将字符串切割成一个数组
// var arr = str.split("");
// //利用Array对象的reverse()方法,将数组中元素的顺序颠倒。
// arr = arr.reverse();
// //测试打印
// alert(arr.toString());
</script>
// var str1 = "aaa";
// var str2 = new String("aaa");
//
// alert(typeof str1); //output string
// alert(typeof str2); //output object
//判断字符串是否包含指定字符串示例
//定义两个要判断的字符串
var str = "abcdefg";
var substr = "xyz";
/*
* 定义判断字符串是否包含指定字符串的函数
* * 第一个参数:要判断的字符串
* * 第二个参数:指定的字符串
*/
function sub(str,substr){
//将判断的字符串定义成String对象
var string = new String(str);
//截取判断的字符串
var result = string.substr(string.indexOf(substr),substr.length);
/*
* 判断截取后的字符串是否为空
* * 为空,说明不包含指定字符串
* * 不为空,说明包含指定字符串
*/
if(result==substr){
return true;
}else{
return false;
}
}
alert(sub(str,substr));
</script>
* 定义对象:
* new Object()
* {key:value,key:value}
* function 对象名(){属性和方法}
* 操作普通对象的属性和方法:
* 调用:
* 对象.属性名
* 对象.方法名()
* 删除:
* delete 对象.属性名
* delete 对象.方法名
* 修改:
* 对象.属性名 = 新的值
* 对象.方法名 = function(){}
* 操作函数对象的属性和方法:
* var 对象名 = new 函数对象();
* 调用:
* 对象名.属性名
* 对象名.方法名()
* 删除:
* delete 对象名.属性名
* delete 对象名.方法名
* 修改:
* 对象名.属性名 = 新的值
* 对象名.方法名 = function(){}
* 内建对象:基本上与java中的对象保持一致,关注不一致(测试)
定义对象的方法
<script type="text/javascript">//1 new Object()
// var obj = new Object();
//2 直接量方式:最多
// var obj = {
// name : "javascript",
// sayMe : function(){
// alert("javascript");
// }
// }
//3 定义函数对象:最重要
// function obj(){
// //this代表obj对象
// this.name = "javascript";
// this.sayMe = function(){
// alert("javascript");
// }
// }
//定义一个空的对象
// var obj1 = new Object();
// var obj2 = {}
//面试题:以下哪个选项是错误的?D
// var a = {}; //定义一个空的对象
// var b = []; //定义一个空的数组
// var c = //; //定义一个空的正则表达式
// var d = ();
//面试题(百度):要求在alert()中,实现换行
alert("xxx\nyyy");
</script>
操作对象的属性和方法
<script type="text/javascript">// var obj = {
// name : "javascript",
// sayMe : function(){
// alert("javascript");
// }
// }
//调用对象obj的属性和方法
// alert(obj.name); //output javascript
// obj.sayMe(); //output javascript
//删除对象obj的属性和方法
// delete obj.name;
// alert(obj.name); //output undefind
// delete obj.sayMe;
// obj.sayMe(); //output javascript
//修改对象obj的属性和方法
// obj.name = "jscript";
// alert(obj.name); //output jscript
// obj.sayMe = function(){
// alert("jscript");
// }
// obj.sayMe(); //output jscript
function Hero(){
this.name = "HERO";
this.sayMe = function(){
alert("HERO");
}
}
alert(Hero.name);
// var hero = new Hero();
//调用函数对象Hero的属性和方法
// alert(hero.name); //output HERO
// hero.sayMe(); //output HERO
//删除函数对象Hero的属性和方法
// delete hero.name;
// alert(hero.name); //output undefind
// delete hero.sayMe;
// hero.sayMe(); //output undefind
//修改函数对象Hero的属性和方法
hero.name = "hero";
alert(hero.name); //output hero
// hero.sayMe = function(){
// alert("hero");
// }
// hero.sayMe(); //output hero
</script>
小总结
var x=new Object();和var x={} 相当于直接构造了 Object类的对象
函数对象相当于构造了 一个类 需要构造出对象才能使用
this用法
<script type="text/javascript">/*
* this的用法:
* * this表示HTML页面中具体的元素内容
* * this表示一个明确的对象
*
* this的用法:程序员又爱又恨
* * 建议:只用会用的
* * 经常搞不清楚this指代谁,尽量不用!
*/
function Hero(){
this.name = "javascript";
this.sayMe = function(){
alert(this.name);
}
}
var hero = new Hero();
hero.sayMe(); //output javascript
</script>
Array对象
<script type="text/javascript">var arr1 = [];
var arr2 = new Array();
alert(typeof arr1); //output object
alert(typeof arr2); //output object
//反转字符串示例(这种方式java与javascript不一样)
// //定义一个字符串
// var str = "abcdefg";
// //利用String对象的split()方法,将字符串切割成一个数组
// var arr = str.split("");
// //利用Array对象的reverse()方法,将数组中元素的顺序颠倒。
// arr = arr.reverse();
// //测试打印
// alert(arr.toString());
</script>
String对象
<script type="text/javascript">// var str1 = "aaa";
// var str2 = new String("aaa");
//
// alert(typeof str1); //output string
// alert(typeof str2); //output object
//判断字符串是否包含指定字符串示例
//定义两个要判断的字符串
var str = "abcdefg";
var substr = "xyz";
/*
* 定义判断字符串是否包含指定字符串的函数
* * 第一个参数:要判断的字符串
* * 第二个参数:指定的字符串
*/
function sub(str,substr){
//将判断的字符串定义成String对象
var string = new String(str);
//截取判断的字符串
var result = string.substr(string.indexOf(substr),substr.length);
/*
* 判断截取后的字符串是否为空
* * 为空,说明不包含指定字符串
* * 不为空,说明包含指定字符串
*/
if(result==substr){
return true;
}else{
return false;
}
}
alert(sub(str,substr));
</script>
相关文章推荐
- javascript中的对象,原型,原型链和面向对象
- 详解JavaScript基于面向对象之创建对象(2)
- Javascript面向对象之创建对象
- 浅析JavaScript的原型对象、原型链和面向对象的特点
- javascript面向对象(给对象添加属性和方法的方式)
- JavaScript高级程序设计之面向对象的程序设计之创建对象之寄生构造函数模式 第6.2.6讲笔记
- JavaScript面向对象(1)——理解对象
- JavaScript面向对象之对象创建
- JavaScript 对象和面向对象 概述
- JavaScript 面向对象与基于对象
- (13)javascript 面向对象 创建对象
- JavaScript 面向对象(二)对象和 JSON 的区别
- 面向对象的JavaScript(3): 函数也是对象
- JavaScript高级程序设计之面向对象的程序设计之创建对象之稳妥构造函数模式 第6.2.7讲笔记
- JavaScript面向对象之Windows对象
- javascript--面向对象(三)原型对象存在的问题及组合组合使用原型和构造函数
- 轻松学习JavaScript十二:JavaScript基于面向对象之创建对象(一)
- 面向对象的javascript之对象操作
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
- 对JavaScript面向对象的一些理解(二)函数和对象的关系