JavaScript 中的所有事物都是对象:字符串、数值、数组、函数等
此外,JavaScript 允许自定义对象。对象只是带有属性和方法的特殊数据类型。
js创建对象的三种方式 (源文件参考 http://www.iteye.com/topic/1127705)
1) 使用关键字new创建对象
- function Person(name, age) {
- this.name = name;
- this.age = age;
- }
- var p = new Person(); // 也可填充初始化属性,如new Person("lingceng", 22)
2 ) 使用Object直接创建对象(js里面一切对象都是从Object继承来的,当要构建一个空对象时,使用new Object()也是常见的一种方法。js的api里只会跟你说Object的几个属性和方法,因为这是一个基类,也没什么意思)
- var obj = new Object(); // 这里也可写成 var = {};
- obj.name = "lingceng";
- obj.age = 22;
3) 使用JSON创建(对象字面量的说法更准确,但JSON更好理解)
- var p = {
- name: "lingceng", // "name":"lingceng这样加引号解析方式相同
- gender: "male"
- }; <strong>
- </strong>
实践
- function Person(name,age)
- {
- // 实例属性
- // 实例时多份拷贝
- this.name=name;
- this.age=age;
- }
- Person.prototype={
- // http://developer.51cto.com/art/200907/134913.htm
- //constructor属性始终指向创建当前对象的构造函数
- // 因为原型被替换,所以需要恢复construtor的默认指向
- constructor: Person,
- showName:function(){
- alert("ShowName in prototype:"+this.name);
- },
- showAge:function(){
- alert(this.age);
- }
- }
- var p = new Person("lingceng", 22);
- p.showAge(); // 22