几种实用的JavaScript鼠标特效,在我们平时网页设计中,鼠标特效可以说是常常会用到,那么今天我们来讲讲通过JS代码实现一些实用的鼠标特效,希望对大家有用。......
2023-03-17 528 JAVASCRIPT 鼠标
做前端开发的人想必都避不开JavaScript这一道砍,无论使用怎么样的前端框架,JavaScript就如同一个幽灵一样,始终伴随在我们身边。我们都知道JavaScript和编程语言最大的区别就是他是没有编译这种功能的,这就是一个解释执行的语言,那么,这个解释执行的语言之中,所谓的原型和面向对象说的又是什么呢?今天就由我给大家带来js面向对象的学习和探索。
首先,我们来说一下最简单也是最轻松的建立一个js对象的方法,对,就是用我们的var来定义我们所需要的object,而关于这个object内部需要的属性,则需要通过box.name这样的功能来实现。函数的方法也是由box.run = function(){}这样的赋值方式来实现,这一部分看上去和普通的面向对象没啥区别对吧。
才怪!如果你真的认为这个就是面向对象,那么我建议读者您应该擦亮眼睛,仔细看一下我们的定义。没错,我们定义的是一个var 而不是面向对象的什么public 那种修饰符,var那是什么,那是和int一样的属性,也就是说我们定义的就是一个变量,根本就不是一个对象!
下图为我们尝试着通过引用box1的方式构造box2,结果发现我们调用的其实还是box的实例,不得不重新建一个object。
显然这个根本不能叫做JavaScript的面向对象,所以接下来我向大家介绍一下真正能面向对象的俩个模式,即工厂模式和构造函数模式。
后者想必大家都比较了解,所以我们先来说下工厂模式:
工厂工厂,就是可以批量生产,而不是像前面box1 box2那样傻乎乎的一个个单独生成一个var变量。
如下图,我们可以通过在函数内构造出我们的var,然后通过return的方式来解决批量生产的问题,但是相信看完后的你还是一脸茫然。。。我靠,这不就是把前面那个繁琐的重写一遍的过程写成了个函数而已么,这叫个屁的工厂模式啊。。。对的,我看完之后也是这么想的233
而且这个模式根本没做到面向对象。。。和前面一个样子,建了一个实例,鬼才知道这个实例是属于那个对象的。。。
最好用的到最后还是数我们最典型的面向对象的方法,我们可以看到,唯一的区别就是本来的public class的声明变成了普通的function,而内部所有的属性包括函数都必须加上this.的符号,还有就是在下面构造的时候需要使用new来新构建这个实例。
下面我要说明一下这个构造,他与工厂最大的不同就是他没有return,而是this,他的object实在new 一个新的实例的时候,自动后台调用的new object()
而且构造函数本身也是函数,他确实是可以进行普通调用的,只是无法再形成一个实例罢了,值得注意的是,即使我们使用函数为this.run = run,而run()函数在这个构造函数之外定义,也是可以的。
ok,JavaScript的面向对象就和大家介绍到这里了,毫无疑问,由java本体生出的面向对象的程序设计还是最好用的,是不是很简单呢。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: JAVASCRIPT编程
相关文章
几种实用的JavaScript鼠标特效,在我们平时网页设计中,鼠标特效可以说是常常会用到,那么今天我们来讲讲通过JS代码实现一些实用的鼠标特效,希望对大家有用。......
2023-03-17 528 JAVASCRIPT 鼠标
如何开始学习javascript,html是网页的内容,c是网页的格式,h是网站的后台,j是网站的前端,那么如何学习j,才能高效?......
2023-03-17 256 JAVASCRIPT