由于JavaScript的灵活性,可以让每个人按照自己的习惯进行编写代码.有函数式的编程方式,也有现在用的较为广泛的对象字面量.由于面向对象的出现,JavaScript刚开始的函数编程也逐渐演化为类式编程方式.现在我对几种比较熟悉的编程习惯进行简单的说明:
1.对象字面量:
以下为引用的内容: var person = { |
具有JavaScript特色的一种编程方式,以类为单位含有属性name,方法setName和getName.调用方法比较简便person.setname('R'),this由此至终均指向person,person的属性与方法均不私有,可以进行调用.
2.prototype构造器调用模式
以下为引用的内容: var Person = function(){ |
3.利用匿名函数进行函数编程
以下为引用的内容: (function(){ |
类的出现,其中一个最大的好处就是降低了全局变量的出现,但是如果你依旧习惯于函数式编程,没关系,只要创建一个匿名函数,进行闭包,就可以再里面进行函数编程,也不需要担心全局变量的出现.如上所看到的var name;在匿名函数外部是无法调用的,然后利用外部的变量来调用内部的函数,或者是变量.可以借此创建私有变量和私有方法.
4.类式编程(不知道取什么名)
以下为引用的内容: var person = function(){ |
与对象字面量很相似,其不同之处在于抛开了this,和可以对方法与属性进行私有.调用方法与对象字面量基本一致.
5.方法链
以下为引用的内容: var Person = function(){ |
jQuery就是一个最经典的方法连库,如果还不懂方法链是什么,看看这个例子:
以下为引用的内容: var p = new Person(); |
本人比较熟悉的就是这几种方式了,每个人都有每个人的特色,所以方式也是说不尽的.但是借此,我想探讨以下几个问题:
1.有关于this指针
在建立多种类的时候都用到this,可是this的作用究竟是什么,而其实this在重用和继承上起着很大的作用.我们先看看一个关于继承的例子:
首先建立Person类:
以下为引用的内容: var Person = function(){ |
然后在建立一个Children类,并集成Person的所有方法和属性:
以下为引用的内容: var Children = function(age){ |
这就是继承,然后我们看个简单的函数重用:
以下为引用的内容: var SetColor = function(){ 看了this的作用之后,想必对this有了新的认识了吧.现在就有疑问了,就是this的该用与不该用,下面在看个简单的例子: var setColor = { |
就在一个类里,this却指向2处地方,有时这样总会让人觉得困惑.刚学习的人更会被this弄的晕头转向.而稍稍改变一下写代码的方式:
以下为引用的内容: var setColor = { |
这样一下来,代码可以更加的清晰了.所以编写代码的时候应该考虑好究竟今后的用途,还有能否重用.如果明确了不进行继承或是重用,个人觉得应该尽可能的避免使用this,更有个比较常出现的问题.如下:
以下为引用的内容: var Person = function(){ |
前面讲过,若果不写成var p = new Person();p.setName('tom');该类里的this将会直接指向Person.prototypel.这种错误在编译时,还是运行时都不会报错.有时会造成让人很头痛的问题.所以在编写代码时,我总是很慎重的选用this.
相关视频
相关阅读 asp下面javascript上传图片限制格式大小方法jQuery和JavaScript 库的性能对比在JavaScript中yield实用简洁实现方式JavaScript库开发者们的规则JavaScript和CSS 属性功能javascript去除字符串中出现空格的函数javascript模式对话框属性介绍JavaScript学习和使用经验总结
热门文章 携号转网什么时候实行谷歌浏览器“Adobe Fl2015双11怎么抢红包_2odysseusota4win图文教
最新文章
2022蚂蚁庄园6月22日今2022蚂蚁庄园6月21日今
2022蚂蚁庄园6月20日今日答案 度量衡是我国2022蚂蚁庄园6月17日今日答案 夏季甜品烧仙2022蚂蚁庄园6月16日今日答案 为了减肥每天2022蚂蚁庄园6月15日今日答案 卫生纸和面巾
人气排行 B站答题答案大全 哔哩哔哩答题答案2019弹幕ipad3和ipad2的8大区别nfc功能是什么 nfc怎么用 NFC功能的手机有哪全国青少年禁毒知识竞赛在线答题 全国青少年bd版是什么意思?bd版和dvd版哪个好?手机cpu天梯图2020最新版11月 手机cpu性能天BD职位是什么?BD职业解析!硬盘划分主分区、扩展分区、逻辑分区、活动
查看所有0条评论>>