首先,一般的都是介绍自己,主要是项目经历
问题1:jQuery与Vue的区别是什么?
JQuery和Vue的主要区别是JQuery主要是通过选择器来选取DOM,对其进行赋值,取值,事件绑定等操作,数据和页面是混合在一起的;Vue则是通过Vue对象将数据和视图完全分割开来,对数据进行操作,不再需要引用相应的DOM对象,实现了MVVM。
问题2:javascript数据基本类型有哪些?
null、boolean、string、undefined、number、symbol(ES6新加)
问题3:箭头函数与function函数的区别
1、function函数与箭头函数的定义写法不同
2、this的指向不同使用function定义的函数,this的指向随着调用环境的变化而变化的,而箭头函数中的this指向是固定不变的,一直指向的是定义函数的环境。
3、构造函数
4、变量提升由于js的内存机制,function的级别最高,而用箭头函数定义函数的时候,需要var(let const定义的时候更不必说)关键词,而var所定义的变量不能得到变量提升,故箭头函数一定要定义于调用之前!
问题4:new一个对象过程发生了什么?
1、创建一个新对象,如:var person = {};
2、新对象的_proto_属性指向构造函数的原型对象。
3、将构造函数的作用域赋值给新对象。(也所以this对象指向新对象)
4、执行构造函数内部的代码,将属性添加给person中的this对象。
5、返回新对象person。
问题5:类和构造函数的区别?如何编写代码实现构造函数不用new关键字会报错?
通常我们所谓的类就是用new来构造实例的普通函数。
通常实例化一个构造函数的时候,里面的this是指向被实例化的实例的。如下示例所示:但有的时候我们想直接执行函数来进行实例化,而不是用new。这个时候构造函数里面的this指向便不再是被实例化的实例了,就变成了Ins函数的接受者全局变量window,严格模式下则会直接抛出错误。通常的解决方案是判断this是否是构造函数的实例,若是则继续执行,若不是则进行new的操作。代码如下:
在构造函数参数个数固定的情况下这种方案是可行的。这种方式的一个缺点是它需要额外的函数调用,因此代价有点高。
在进行构造函数实例化的时候,如果构造函数内部没有明确return语句返回值,那么该构造函数会自动的构造一个实例对象返回,但是如果我们明确返回了非简单数据类型(简单数据类型还是会自动构造实例对象返回)的对象的话,构造函数实例化的时候返回的就是该对象。如此,我们可以构造如下的通用情况下的构造函数:
问题6:函数传参数是按值还是引用?数据类型或者对象类型都一样吗?
是按值传递的!!!数据类型或者对象类型都是。
问题7:css 水平垂直居中方法
body{
height:1000 px;}.antzoen{ position:fixed; width:250px; height:100px; background:#ececec; left:50%; top:50%; margin-left:-125px; margin-top:-50px}
利用flex布局:
.center{display:flex; justify-content:center; align-items:center;
}
等等还有很多其他的方法就不一一分享了。