一些前端基础知识点自我总结!!!(实习面试准备)

  • 什么是前端的模块化,组件化,工程化?
    模块化:将某一复杂逻辑或功能的代码封装成一个文件以实现更规范化的管理、隔离及组织,以便在项目其他地方可以用到的时候引入,可以称之为模块化。js代码的模块化规范很多,有AMD/CommonJS/UMD/ES6 Module等等,css也可以采用模块化思想编写,而webpack则是一种模块打包工具。(具体的模块化编程请自行百度)
    组件化:将一个网站页面想象成一个容器,里面各个独立的可视或可交互区域则可看作是各个组件。不同的页面根据内容的需要,去盛放相关组件即可组成完整的页面。
    (浅显见解,翻阅过许多资料,模块化组件化都有更深的含义,具体自行百度)
    工程化:工程化是一种规范化的思想,将一个复杂项目明确分层组织出清晰的结构去进行开发,而不是毫无组织结构的去做。模块化和组件化可以说是工程化思想下相对较具体的开发方式及实现。

  • 什么是原型,原型链,继承,闭包?
    原型:js中定义的每个函数都有一个显式原型属性prototype,而每一个对象都有一个隐式原型属性_proto_,而prototype属性值是一个对象其中的constructor属性都指向构造函数本身。(关系如下图)
    属性关系
    原型链:访问一个对象的属性时,先在基本属性中查找,如果没有,再沿着__proto__这条链向上找,依次层层往上查询直到prototype的原型对象为null,则该条查询路径为原型链。(下图中红线则为一条原型链)
    原型链
    继承:继承是面向对象思想编程中的概念,是指子类通过继承来具有父类的属性和方法或者重新定义、追加属性和方法等。而js中的继承则有原型链继承,构造函数继承,实例继承,拷贝继承,组合继承,寄生组合继承等。这里所述的则是根据原型链确定继承关系,由于所有的对象的原型链都会找到Object.prototype,因此所有的对象都会有Object.prototype的方法,这就是原型链继承。
    闭包:简单来说闭包就是定义在一个函数内部的函数,而闭包是为了保留函数内的变量,使函数不会被被释放,始终保持在内存中,同时可以通过闭包访问其他函数内的变量。

  • js中的数据类型有哪些?
    js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object)

  • js有哪些内置对象?
    Object 是 JavaScript 中所有对象的父对象
    数据封装类对象:Object、Array、Boolean、Number 和 String
    其他对象:Function、Arguments、Math、Date、RegExp、Error

  • 数据类型存储额内存图?
    数据类型

  • NULL和Undefined的区别?
    NULL:空值,一个空的对象
    Undefined: 不存在这个值

  • 同步和异步的区别?
    同步的概念应该是来自于OS中关于同步的概念:不同进程为协同完成某项工作而在先后次序上调整(通过阻塞,唤醒等方式).同步强调的是顺序性.谁先谁后.异步则不存在这种顺序性.
    同步:浏览器访问服务器请求,用户看得到页面刷新,重新发请求,等请求完,页面刷新,新内容出现,用户看到新内容,进行下一步操作。
    异步:浏览器访问服务器请求,用户正常操作,浏览器后端进行请求。等请求完,页面不刷新,新内容也会出现,用户看到新内容。

持续更新中。。。
记录这段时间遇到的一些晦涩不懂的概念,直到5月实习面试!

猜你喜欢

转载自blog.csdn.net/weixin_43388844/article/details/88075505