日期:2014-05-16 浏览次数:20459 次
1. 对象
对象是面向对象程序设计的基础概念之一,只需看看这个名字就已经知道了。在我们熟悉的面向对象语言中,比如Java或者C++,都有着类似的对象定义方法。比如,我们想定义一个类,名字叫Person,有两个属性:name和age,另外有一个方法,将显示出这个Person对象的名字和年龄,那么我们可以用下面的代码实现:
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();
}
}
?var Person = {
"name": "Tom",
"age": 20,
"introduction": function() {
alert("My name is " + this.name + ", my age is " + this.age);
}
};
Person.introduction();
?var Person = {
name: "Tom",
age: 20,
introduction: function() {
alert("My name is " + this.name + ", my age is " + this.age);
}
}
Person.introduction();
?alert(Person.name); // Tom // alert(Person."name"); alert(Person["name"]); // Tom alert(Person[name]); // undefined?
var Person = {}; // 创建一个空对象
Person.name = "Tom"; // 添加一个属性name,并赋值为Tom
Person["age"] = 20; // 用另外的办法新增属性
Person.introduction = function () {
alert("My name is " + this.name + ", my age is " + this.age);
};
Person.introduction();
for(var field in Person) { // 使用foreach循环列出对象中所有属性
alert("field name: " + field + "; value: " + Person[field]);
}
delete Person.name; // 删除name属性
Person.introduction();
alert(name in Person); // 使用in操作符判断属性是否存在
?var date = new Date(); alert(date.constructor); alert(date.constructor == "Date"); // false alert(date.constructor == Date); // true?