前端面试2021.5.24
1.说一下盒子模型:
答:盒子模型有两种:W3C和IE盒子模型
盒子模型包括margin、border、padding、content
W3C的元素宽度=content的宽度
IE的元素宽度=content+padding+border
我个人认为W3C定义盒子模型与IE定义的盒子模型,IE定义的比较合理,
元素的宽度应该包含border(边框)和padding(填充),这个和我们现实生活的盒子是一样的,
W3C也认识到自己的问题了,所以在CSS3中新增了一个样式box-sizing,
包含两个属性content-box 和 border-box。
2.说一下js的数据类型:
答:1.JavaScript 中的变量类型分为值类型(又称为简单类型、基本数据类型)以及引用类型。【值类型】:Number、String、Undefined、Null、Boolean;【引用类型】:Object、Array、Function
值类型和引用类型的区别:每声明一个值类型变量,都会在内存中单独分配出一块区域用以保存,变量之间不会相互影响;而引用类型返回的是存储地址,因此若是变量之间的赋值,实际是将地址的引用进行赋值.
2.null与undefined的区别:
答:<在JavaScript中,null 和undefined 几乎相等
在if 语句中null 和undefined 都会转为false两者用相等运算符比较也是相等
console.log(null==undefined); //true 因为两者都默认转换成了false
console.log(typeof undefined); //"undefined"
console.log(typeof null); //"object"
console.log(null===undefined); //false "==="表示绝对相等,null和undefined类型是不一样的,所以输出“false”
null 和undefined 基本同义,二者又有什么区别呢?
null表示没有对象,即该处不应该有值
1) 作为函数的参数,表示该函数的参数不是对象
2) 作为对象原型链的终点
undefined表示缺少值,即此处应该有值,但没有定义
1)定义了形参,没有传实参,显示undefined
2)对象属性名不存在时,显示undefined
3)函数没有写返回值,即没有写return,拿到的是undefined
4)写了return,但没有赋值,拿到的是undefined
null和undefined转换成number数据类型
null 默认转成0
undefined 默认转成NaN
3.vue中data为什么必须是函数?
答:vue中data必须是函数是为了保证组件的独立性和可复用性,data是一个函数,组件实例化的时候这个函数将会被调用,返回一个对象,计算机会给这个对象分配一个内存地址,你实例化几次,就分配几个内存地址,他们的地址都不一样,所以每个组件中的数据不会相互干扰,改变其中一个组件的状态,其它组件不变。
4.http协议?
答:HTTP:超文本传输协议。使用的是可靠的数据传输协议,在传输的过程中不会被损坏或产生混乱。HTTP可以从遍布全世界的Web服务器商将各种信息块迅速、便捷、可靠地搬移到人们桌面上的Web浏览器上去。
4.1常见的http的方法有哪些?
get | 从服务器向客户端发送命名资源 |
---|---|
post | POST方法用来传输实体的主 |
PUT | PUT方法用来传输文件. |
DELETE | DELETE方法用来删除文件 |