- 相关推荐
perl- javascript中class的机制
javascript是如何实现class的?下面YJBYS小编为大家讲解!
FAQ
perl公众号为什么要谈javascript?
浏览器客户端是通过javascript对前端数据进行处理,服务器端是没有权利知道明文密码的。要分析Webqq不懂javascript不行。再对加密过程进行比喻下,y是秘钥1以及秘钥2以及其他参数p的表达式。我们自己有一把钥匙,服务器也有一把钥匙,这2把钥匙能开同一个门,但是2把钥匙长得不一样。
为什么只讲class?
class便于代码的管理,有了class让开发库成为了可能,只需要对外提供API就好了。 掌握语言的核心就是理解这门语言的class。
Javascript的class
正如perl5一样,javascript 本身不支持面向对象,没有访问控制符public,private, 没有定义类的关键字class。Javascript 还是很灵活的,用一些变通的方法,来制作类。
构建类
函数法的类,在函数中使用this,看到this就是class
function L() {
this.n = null;
this.e = 0;
this.d = null;
this.p = null;
this.q = null;
this.dmp1 = null;
this.dmq1 = null;
this.coeff = null
}
生成对象
函数法生成对象,使用new关键字
var obj=new L();
JS还支持以字面值形式:创建一个自定义对象:
{ property1:value1, property2:value2, propertyN:valueN }
//场景
var obj1={property1: value1, property2:value2}
return {property1: value1, property2:value2}
添加类的属性和方法
使用prototype关键字,添加类的属性和方法
function W(t) {
return t.modPowInt(this.e, this.n)
}
L.prototype.doPublic = W;
Object.creat() 方法
ECMAScript第5版提出了Object.creat() 方法。
匿名函数自调用,立即执行函数IIFE
sub{print "hello world"}->()
(function (){console.log("hello world")})();
(function (a,b){ var c=a+b; console.log(c);} (3,4));
(function (a,b){ var c=a+b; console.log(c);}) (3,4);
感觉javascript也是个比perl还变态的语言,什么怪异的写法都有。
IIFE 的优势
总是将代码包裹成一个 IIFE(Immediately-Invoked Function Expression),用以创建独立隔绝的定义域。这一举措可防止全局命名空间被污染。
偷懒,不想额外定义函数
my $r=sub{use integer; ~time}->();
极简主义 法
在这个基础上,配合nodejs就能从任意js文件中提取所需函数。
【perl- javascript中class的机制】相关文章:
在Java中执行JavaScript代码04-01
JavaScript中的with关键字03-25
JavaScript中的三种对象04-01
抽象语法树在JavaScript中的应用03-25
JavaScript中push(),join() 函数实例详解03-31
详解JavaScript中的splice()使用方法04-01
浅谈javascript中的单线程理解03-30