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

javaScript 面向对象-对象

2014-01-30 11:55 323 查看
* 对象

* 定义对象:

* 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: