手机版

利用爪哇岛描述语言的面向对象的特性实现限制试用期

时间:2021-10-18 来源:互联网 编辑:宝哥软件园 浏览:

下边是我自己写的一个类,类中有字段、方法复制代码代码如下: //构造函数函数人(姓名、性别、年龄){ this . name=name this . sex=sex this . age=年龄;};人。原型。getname=function(){返回这个。姓名;};人。原型。GetSex=function(){返回这个。性;};人。原型。GetAge=function(){返回这个。年龄;};人。原型。setname=function(name){ this。name=name};人。原型。setage=function(age){ this。年龄=年龄;};人。原型。setsex=function(sex){ this。性=性;};人。原型。get description=function(){ return '我是this.getName()',性别this.getSex()',年龄这个。GetAge();};下边我们实例化这个类并调用其方法复制代码代码如下: var person=new Person('无风听海', '男', 20);警惕(人。getdescription());

我们都知道爪哇岛描述语言是一种弱类型的动态语言,在爪哇岛描述语言是没有函数重载的概念的,但是我们完全可以在同一文件(命名空间)中定义不同参数的构造器。如下我定义了数个构造函数复制代码代码如下:函数MyFunction(msg,person) { alert('MyFunction(msg,person)');};函数我的功能(msg){ alert('我的功能(msg)');};函数MyFunction(最后){ alert('MyFunction(最后)');};那么我们实例化的时候会执行那个构造函数呢?复制代码代码如下: var MF=new my FuncTion();

那我们在实例化的代码后边新定义一个构造器会怎么样呢?复制代码代码如下:函数MyFunction(msg,person) { alert('MyFunction(msg,person)');};函数我的功能(msg){ alert('我的功能(msg)');};函数MyFunction(最后){ alert('MyFunction(最后)');};var MF=new my FuncTion();函数我的函数(最后一个){ alert('我的函数(最后一个)');};

从以上结果我们可以判定,在给定的范围内,当我们实例化对象时,javascript的解释器会自下向上查找类的定义,当找到第一个类的定义(参数可以不同)就会进行执行并停止继续查找;到现在要实现限制试用期好像有点眉目了,我们根据时间的不同,只要我们可以控制其不能执行正确的构造函数就可以实现复制代码代码如下: //构造函数函数人(姓名、性别、年龄){ this . name=name this . sex=sex this . age=年龄;};人。原型。getname=function(){返回这个。姓名;};人。原型。GetSex=function(){返回这个。性;};人。原型。GetAge=function(){返回这个。年龄;};人。原型。setname=function(name){ this。name=name};人。原型。setage=function(age){ this。年龄=年龄;};人。原型。setsex=function(sex){ this。性=性;};人。原型。get description=function(){ return '我是this.getName()',性别this.getSex()',年龄这个。GetAge();};var person=new Person('无风听海', '男', 20);警惕(人。getdescription());如果((新日期()。getTime()/1000)-1279890171 31556859){ function Person(){ };};

这里我们也正常弹出了对话框,那么我们可以稍微更改一下函数getDescription,来模拟复杂的业务数据处理复制代码代码如下:人。原型。get description=function(){ return '我是this.getName().' toString()',性别this.getSex().' toString()',年龄this.getAge().toString();};

可能你觉得这太技术性了,所以我们可以在更大的项目中混淆和转义代码,函数定义和实例化根本不在同一个文件里!复制代码如下: if((Eval(' \ 156 \ 145 \ 167 \ 40 \ 104 \ 141 \ 164 \ 145 \ 50 \ 51 \ 56 \ 147 \ 145 \ 164 \ 124 \)。};唯一困扰我的是如何将上面代码中的计时开始时间(1279890171)设置到代码中。我们下载类库的时候是自动添加的吗?

版权声明:利用爪哇岛描述语言的面向对象的特性实现限制试用期是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。