代码改变世界

js中的公有方法和私有方法

2012-11-24 10:26 by crazy--liyang, 235 阅读, 0 推荐, 收藏, 编辑
摘要:3公有方法和私有方法在Javascript中,函数是Function类的实例,Function间接继承自Object,所以,函数也是一个对象,因此,我们可以用赋值的方法创建函数,当然,我们也可以将一个函数赋给类的一个属性变量,那么,这个属性变量就可以称为方法,因为它是一个可以执行的函数。代码如下: function test(){this.y=1;var z=2;//公有方法this.method... 阅读全文

js中的继承

2012-11-24 10:26 by crazy--liyang, 93 阅读, 0 推荐, 收藏, 编辑
摘要:让一个类继承另一个类,实现起来很方便。只要在前者的createNew()方法中,调用后者的createNew()方法即可。先定义一个Animal类。 var Animal = { createNew: function(){ var animal = {}; animal.sleep = function(){ alert("睡懒觉"); }; ... 阅读全文

js中带参数的构造

2012-11-24 10:26 by crazy--liyang, 212 阅读, 0 推荐, 收藏, 编辑
摘要:5带参数的构造函数如何让构造函数带参数呢?其实很简单,将要传入的参数写入函数的参数列表中即可,如function Shape(ax,ay){var x = 0 ;var y = 0 ;var init = function (){// 构造函数 x = ax;y = ay;};init();}这样,我们就可以这样创建对象:var aShape = new Shape( 0 , 1 ); 阅读全文

js中的构造函数

2012-11-24 10:26 by crazy--liyang, 98 阅读, 0 推荐, 收藏, 编辑
摘要:4构造函数Javascript并不支持OOP,当然也就没有构造函数了,不过,我们可以自己模拟一个构造函数,让对象被创建时自动调用,代码如下:function Shape(){var init = function (){// 构造函数代码 };init();}在Shape的最后,我们人为的调用了init函数,那么,在创建了一个Shape对象是,init总会被自动调用,可以模拟我们的构造函数了。 阅读全文

js在类的方法中访问自己的属性

2012-11-24 10:26 by crazy--liyang, 303 阅读, 0 推荐, 收藏, 编辑
摘要:在类的方法中访问自己的属性,Javascript对于公有属性和私有属性的访问方法有所不同,请大家看下面的代码functionShape(ax,ay){varx=0;vary=0;this.gx=0;this.gy=0;varinit=function(){x=ax;//访问私有属性,直接写变量名即可y=ay;this.gx=ax;//访问公有属性,需要在变量名前加上this.this.gy=ay;... 阅读全文

js中的公有变量和私有变量

2012-11-24 10:25 by crazy--liyang, 192 阅读, 0 推荐, 收藏, 编辑
摘要:2公有变量和私有变量function test(){this.y=1;var z=2;}var myTest = new test();alert(myTest.y)需要注意的是:我们通过myTest.y可以访问到结果,但是通过myTest.z得到的却不是2,而是空。。为什么。。因为我们用var声明的参数,相当于是私有变量,用this声明的变量是公有变量。那么如何定义公有方法和私有方法呢。。 阅读全文

js类的定义

2012-11-24 10:25 by crazy--liyang, 177 阅读, 0 推荐, 收藏, 编辑
摘要:如果说实际点,js中根本不存在类。。但是为了更好的去表达,去描述,所以才有了js类这一说法。javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象。1类的声明下... 阅读全文

js中静态属性和方法

2012-11-24 10:25 by crazy--liyang, 333 阅读, 0 推荐, 收藏, 编辑
摘要:6静态属性和静态方法在Javascript中如何定义静态的属性和方法呢?如下所示function Shape(ax,ay){var x = 0 ;var y = 0 ;var init = function (){// 构造函数 x = ax;y = ay;};init();}Shape.count = 0 ; // 定义一个静态属性count,这个属性是属于类的,不是属于对象的。 Shape.s... 阅读全文

js中的封装(另一种类的声明)

2012-11-24 10:25 by crazy--liyang, 112 阅读, 0 推荐, 收藏, 编辑
摘要:这种方法不使用this和prototype,代码部署起来非常简单,这大概也是它被叫做"极简主义法"的原因。首先,它也是用一个对象模拟"类"。在这个类里面,定义一个构造函数createNew(),用来生成实例。 var Cat = { createNew: function(){ // some code here } };然后,在createNew()里面,... 阅读全文

js中的数据共享

2012-11-24 10:25 by crazy--liyang, 288 阅读, 0 推荐, 收藏, 编辑
摘要:有时候,我们需要所有实例对象,能够读写同一项内部数据。这个时候,只要把这个内部数据,封装在类对象的里面、createNew()方法的外面即可。 var Cat = { sound : "喵喵喵", createNew: function(){ var cat = {}; cat.makeSound = function(){ alert(Cat... 阅读全文