js面试问题小白总结
js构造函数:
同普通函数的区别:
1.命名规范,一般函数采用驼峰的写法,构造函数一般首字母大写
2.使用New来生成实例对象
3.this指向,构造函数中的this指向我们即将要生成的实例化对象
构造函数的缺点:
所有的实例对象都可以继承构造函数中的属性和方法。但是,同一个对象实例之间无法共享属性
解决思路:
通过原型链prototype来实现,他相当于一个公共容器
Es6的class
类内部定义函数不用加function和函数之间不需要“,”
数据结构篇“
数组和链表的区别:
在内存上:
数组:数组相当于申请了一块连续的内存地址空间,编译阶段就确定了大小,在运行阶段一般是不能改变的,不能适应数据动态的删减的情况,当数据增加时,可能超出原先定义的范围个数,造成 数据越界,当内存减少时又可能会造成内存的浪费
链表:链表动态的进行存储分配,现用分配,可以适应数据的增加,删除等操作,链表必须根据next指针找到下一个元素。
数组可以直接根据下表存取数据,如果从表面看,需要快速访问数据,很少或者不插入和删除元素,就应该用数组,反之,如果需要经常插入和删除元素就需要用到链表数据结构。
vue的传值:
父—>子 props 子---->父 $emit 非父子组件:定义公共的仓库bus
自我介绍:
项目介绍:你遇到的问题,以及解决方案
js垃圾回收机制:
1.垃圾收集器会周期性的找出那些不再继续使用的变量,然后释放其内存。
包含两种方式:1.标记清除 2.引用计数
标记清除:当变量进入环境时,就标记为进入环境,当变量离开环境时就将其标记为离开环境,这些外界无法访问到的变量就是将要清除的变量。
2.引用计数:跟踪记录每个值被引用的次数,声明的时候是0,引用过就+1,引用过的变量重新再赋值就-1,当引用次数变为0,也就无法访问了。
从输入url到页面完成渲染的过程
304状态码:自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。进而节省带宽和开销
缓存机制:你上次请求的时间和你请求文件的修改时间做一个比较,假如文件没有修改过就直接返回304,说明不需要给你重新发响应数据。
js防抖:防止疯狂触发某个事件,给后端的数据交互造成压力,解决方法,时间延迟,设置一个时间间隔,若上一次和这一次的时间,间隔没有超过设定的事间间隔就不触发该事件。
vue:mvvm:底层实现原理
js继承-----原型继承、构造函数继承
function animate() {
this.name=“name”;
this.age=18;
}
function dog(shu){
//第一种继承,使用call回调 缺点:无法继承父类原型上的方法
// animate.call(this,“peng”,15);
this.shu=shu;
}
//第二种继承、原型继承 缺点:父类的属性不会初始化,
dog.prototype=new animate();
let cat=new animate();
let dog2=new dog();
console.log(dog2.age);
- 总结几道关于Node.js的面试问题
- 总结十个Angular.js由浅入深的面试问题
- 一年左右工作经验及小白前端面试问题总结(1)有关css(或样式)的常见面试问题
- 前端JS面试中常见的算法问题总结
- 面试中经常问到的问题总结(1)
- 阿里JAVA开发面试常问问题总结
- Hadoop/Spark相关面试问题总结
- 学生面试被问到的问题总结二:
- 关于文件拷贝效率问题(面试总结)
- 小丸子总结node.js的一些问题
- 2017安卓面试问题总结
- 超链接a标签跳转到js方法遇到的问题总结(详见代码)
- sizeof 面试问题总结
- 总结面试中问到的一个问题构造函数、静态代码块、和调用的方法的加载顺序
- JS的乱码问题详解(经验总结)
- 7.Mybatis总结以及在面试中的一些问题
- spring和springMVC的面试问题总结
- 小白也能彻底理解js中this的指向问题
- 【面试】【Spring常见问题总结】【09】
- 前端面试问题总结