本人作为一个刚接触前端不久的小白,谈谈对javaScript的认识
刚开始学习前端的时候,认为只要学好html,css,javaScript这三大基础就好了,也因为作为一个学生,自己的学习习惯就是对基础知识的掌握一定要扎实,所以在javaScript的初学阶段下了很大的功夫,随着学习的深入,渐渐发现javaScript的优点与缺点同样明显,以前接触的java一对比就发现,javaScript作为一门编程语言似乎设计的很不严谨。
弱类型语言的标签使得js在处理很多问题的时候都显得心有余而力不足,js中没有类的概念(es6中才出现,但作用不大),使得js在封装与继承方面显得太简陋,统一的使用构造函数与原型模式,原型链的继承,可以说大大简化的代码的冗余,提高了代码的复用度,但随之而来的问题也困扰这我。this的指向问题与使用,this是js中的重要部分,可以说这个关键字充斥着整个js,无论是方法的调用,还是属性的使用,this可以说解决了很多的问题,但this的指向问题向来的争议的点,一切的原因都是因为js中没有块级作用域的概念,所以就导致 this可以指向上下文的任意构造函数,这点在使用ajax时尤其明显,不得不重新定义一个变量去接收这个this的值。
再来说说es6吧。es6由于大多浏览器不支持,所以就涉及到一个转码问题,这就很难受,你写完了es6代码,还要用一个babel转码工具把编码转成es5的代码,不知道这样写的意义在哪里,es6的代码还是较之前有很大的进步,像之前说的在es6里面引入类的概念,而不是之前的通篇构造函数,代码的作用域也更明显的区分,除此之外就是解构了,es6里对遍历数组或是对象都有一个革命性的进步:提出了解构的概念 ,解构能大大缩短遍历的时间与复杂度,语法也更简单直观。
网友评论