谈谈现在的项目经历,前端工作开发流程和使用的工具库以及使用的技术。(考察框架技术、项目过程等)
查看项目过程的积累- css的几种定位方式:
typeof其实就是判断参数是什么类型的实例,就一个参数,typeof 一般只能返回如下几个结果:number、string、boolean、object、function、undefined等;其中对象,数组和null typeof(x) = "object" ,函数 typeof(x)="function";我们可以使用 typeof 来获取一个变量是否存在,如 if(typeofa!="undefined"){alert("ok")},而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错,对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。
判null:typeof(a)!="undefined" && !a
谈谈你对JS中的原型链的理解
原型对象:调用构造函数来创建对象,其实是一种效率非常低的方法,因为每次创建对象时,都要在构造函数里为该对象分配相同的方法和属性,在javascript中可以使用原型对象的机制提供共享的变量属性。
原型链的函数,对象和实例关系如下:
介绍一下浏览器的BOM体系和DOM结构
window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。由于window是顶层对象,因此调用它的子对象时可以不显示的指明window对象 ;
window子对象
- document 对象
- frames 对象
- history 对象
- location 对象
- navigator 对象
- screen 对象
Document则称为DOM对象
JS中的三种数据存储对象:sessionStorage、localStorage、cookier的数据存储区别是什么:
①传递方式不同
cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。
sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。
②数据大小不同
cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。
存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。
sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
③数据有效期不同
sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;
localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;
cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
④作用域不同
sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;
localStorage 在所有同源窗口中都是共享的;
cookie也是在所有同源窗口中都是共享的。
Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。
Web Storage 的 api 接口使用更方便。
怎么解决回调函数里面回调另一个函数,另一个函数的参数需要依赖这个回调函数
谈谈你对webpack的看法
WebPack
是一个模块打包工具,你可以使用WebPack
管理你的模块依赖,并编绎输出模块们所需的静态文件。它能够很好地管理、
打包Web开发中所用到的HTML、JavaScript、CSS
以及各种静态文件(图片、字体等),让开发过程更加高效。对于不同类型的资源,
webpack
有对应的模块加载器。webpack
模块打包器会分析模块间的依赖关系,最后 生成了优化且合并后的静态资源。
sql注入原理
就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
总的来说有以下几点1.永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等。
2.永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息。