javascript简单对象创建
2013-09-15 14:32
405 查看
由于javascript中定义了一个函数就相当于定义了一个类,我们当然可以创建一个这个类的对象。
虽然java和javascript根本是两种东西,但这段代码应该很好理解。
首先定义了一个Person类,定义类的属性的方法非常简单,直接用this就可以定义,但是不用this去定义,会出现什么后果呢?我们在类添加一个变量sex,赋值为"male"。
输出代码如下:
运行结果:
显示为undefined,未定义的原因是我们并没有用this来定义属性,如果只是简单的定义一个变量,那么它只是一个局部变量,并不是一个类的属性,这一点要弄明白。同理我们在类里随便定义函数,也是不能直接用的,比如:
添加代码:
当运行到p1.say时,会出现错误:
对于变量我们已经解决了,那么方法怎么可以直接通过对象调用呢?
方法很简单。还是利用this:
定义一个Person的say属性指向function,这样就能成功调用函数了。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript"> function Person(name,age) { //定义了一个Person属性name this.name = name; //定义了一个Person属性age this.age = age; //定义了一个Person属性address this.address = "harbin"; } //创建了一个对象p1是Person对象 var p1 = new Person("maybe",21); alert(p1.name+","+p1.address); var p2 = new Person("gossip",21); p2.address = "shanghai"; alert(p2.name+","+p2.address); </script> </head> <body> </body> </html>
虽然java和javascript根本是两种东西,但这段代码应该很好理解。
首先定义了一个Person类,定义类的属性的方法非常简单,直接用this就可以定义,但是不用this去定义,会出现什么后果呢?我们在类添加一个变量sex,赋值为"male"。
function Person(name,age) { //定义了一个Person属性name this.name = name; //定义了一个Person属性age this.age = age; //定义了一个Person属性address this.address = "harbin"; var sex="male"; }
输出代码如下:
alert(p1.name+","+p1.address+","+p1.sex);
运行结果:
显示为undefined,未定义的原因是我们并没有用this来定义属性,如果只是简单的定义一个变量,那么它只是一个局部变量,并不是一个类的属性,这一点要弄明白。同理我们在类里随便定义函数,也是不能直接用的,比如:
function Person(name,age) { //定义了一个Person属性name this.name = name; //定义了一个Person属性age this.age = age; //定义了一个Person属性address this.address = "harbin"; var sex="male"; function say() { alert("saying"); } }
添加代码:
var p1 = new Person("maybe",21); alert(p1.name+","+p1.address+","+p1.sex); p1.say();
当运行到p1.say时,会出现错误:
对于变量我们已经解决了,那么方法怎么可以直接通过对象调用呢?
方法很简单。还是利用this:
function Person(name,age) { //定义了一个Person属性name this.name = name; //定义了一个Person属性age this.age = age; //定义了一个Person属性address this.address = "harbin"; var sex="male"; this.say = function() { alert("saying"); } }
定义一个Person的say属性指向function,这样就能成功调用函数了。
相关文章推荐
- 简单使用JSON,JavaScript中创建 JSON 对象(一)
- 跟我一起创建一个简单的javascript ajax对象 ---献给Web开发初学者
- JavaScript创建简单购物车对象
- javascript 简单对象创建
- javascript简单对象创建
- JavaScript创建对象的七种方式(推荐)
- Javascript创建对象的几种方式
- 深入理解JavaScript系列(48):对象创建模式(下篇)
- javaScript【创建对象、创建类、成员变量、方法、公有和私有、静态】
- js(十四)——简单对象创建和json
- javascript创建对象的七种模式
- 简单介绍JavaScript中字符串创建的基本方法
- 在javascript中创建对象的各种模式
- JavaScript创建对象的四种方法
- javascript中用构造器创建对象与字面量创建对象的区别
- JavaScript 创建对象---工厂模式
- 创建一个Session对象,用javascript弹出内容
- javascript---使用createElement动态创建HTML对象
- Javascript创建对象的七种模式(你必须掌握!)