易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript面向对象程序设计(3): 对象

 本博客转载于:http://devbean.javaeye.com/blog/404056
1. 对象
 
对象是面向对象程序设计的基础概念之一,只需看看这个名字就已经知道了。在我们熟悉的面向对象语言中,比如Java或者C++,都有着类似的对象定义方法。比如,我们想定义一个类,名字叫Person,有两个属性:name和age,另外有一个方法,将显示出这个Person对象的名字和年龄,那么我们可以用下面的代码实现: 
Java代码
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void introduction() {
System.out.println("My name is " + this.name + ", my age is " + this.age);
}
public static void main(String[] args) {
Person p = new Person();
p.setName("Tom");
p.setAge(20);
p.introduction();
}
}
C++的实现也是类似的,这里不再赘述
 
我们先来看一下这个类的定义:首先声明属性,然后定义属性的getter和setter方法,用来外界访问私有变量,最后定义了它自己的方法。这是一个比较常见的定义方式,以至于以后的很多语言,比如C#,都采用这种定义。
 
那么,什么是对象呢?对象不过是具有特定属性和方法的集合。虽然这并不是一个严格的定义,但是将属性和它的名字(不妨我们把它的方法也看作是它的属性,这并没有什么不同)放在一起,形成一个集合,这就是对象。也就是说,简单来看,对象就是这种具有“键-值”对的形式。
 
2. JavaScript的对象
 
“键-值”对的形式……这个样子看上去是不是有些面熟?Bingo!对了!这不就是数组的形式吗?嗯,恭喜你想到这一点!的确,在JavaScript中,对象的定义就是像数组的定义。下面,我们在JavaScript中对这个Person进行一下定义:
 
Js代码
v


相关文档:

javascript typeof的用法

经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组.
if(document.mylist.length != "undefined" ) {} 这个用法有误.
正确的是 if( typeof(document.mylist.length) != "undefined" ) {}
或 if( !isNaN(document.mylist.length) ) {}
typeof的运算数未定义,返回的就是 "u ......

javascript小技巧

javascript小技巧
事件源对象
event.srcElement.tagName
event.srcElement.type
捕获释放
event.srcElement.setCapture(); 
event.srcElement.releaseCapture(); 
事件按键
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey
事件返回值
event.returnValue
鼠标位置
event ......

Javascript的caller到底是什么时候定义的呢?

 网上很多文章都转载了一段话:对于函数来说,caller 属性只有在函数执行时才有定义。
到底是不是呢?可以用下面这段代码测试一下(这段例子也是转载文章中使用的):
function callerDemo() {
if (callerDemo.caller) {
var a= callerDemo.caller.toString();
alert(a);
} else {
......

JavaScript面向对象程序设计(1): 前言

 前一阵看EXTJS的几个例子,觉得JS的底子很差,特别是JavaScript面向对象程序设计方面的知识,于是在网上搜索,找到几篇好的博客,于是转过来,以备后面的学习使用。
本博客转于:http://devbean.javaeye.com/blog/404032
1. 基于对象还是面向对象?
面向对象技术是现代软件开发中的重要技术之一。面向对象变成的好 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号