1,啥是盒模型?
盒模型的作用:规定了网页元素如何显示以及元素间的相互关系
盒模型的概念:盒模型是css布局的基石,它规定了网页元素如何显示以及元素间的相互关系。
css定义所有的元素都可以拥有像盒子一样的外形和平面空间。即都包含内容区、补白(填充)
、边框、边界(外边距)这就是盒模型。
2,语义化标签有哪些?
1、header标签;2、nav标签;3、footer标签;4、hgroup标签;5、section标签;
6、article标签;7、aside标签;8、figure标签;9、time标签;10、address标签。
3,Css选择器有哪些,他们的优先级是什么样的?
属性选择器 通配符选择器 后代选择器 子选择器 相邻选择器 标签选择器 类选择器 id选择器
4,Css中定位有哪些?分别有啥区别
静态定位:static
相对定位:relative
绝对定位:absolute
固定定位:fixed
粘性定位:sticky
5,Div如何实现垂直居中?
这个方法把 div 的显示方式设置为表格,然后我们可以使用表格的 vertical-align property 属性。
6,清除浮动的方式有几种,分别说说!
clear:both。
通过触发BFC方式,实现清除浮动
使用before和after双伪元素清除浮动
使用after伪元素清除浮动
7,定义变量的方式有几种,分别有啥区别?
使用var在全局作用域中声明的变量会成为window对象的属性,let不会
const的行为与let基本相同,唯一一个重要的区别是它声明变量时必须同时初始化变量,且尝试修改const声明的变量会导致运行的错误
如果用const声明的是一个对象,那么修改这个对象内部的属性并不违反const的限制
let声明的范围是块作用域,var声明的范围是函数作用域
8,箭头函数和普通函数的区别是什么?
箭头函数不能new,普通函数可以new
箭头函数没有原型,普通函数只要声明系统内置prototype
箭头函数没有arguments
9,请简要说明,什么是原型,什么是原型链?
什么是原型?
任何对象实例都有一个原型,也叫原型对象,这个原型对象由对象的内置属性_proto_指向它的构造函数的 prototype 指向的对象,
即任何对象都是由一个构造函数创建的,但是不是每一个对象都有 prototype,只有方法才有 prototype。
、什么是原型链?
原型链基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。我们知道,每个构造函数都有一个原型对象,
每个原型对象都有一个指向构造函数的指针,而实例又包涵一个指向原型对象的内部指针。
10,请说一下闭包和他的特点
闭包的作用是什么?
好处:隐藏变量,避免污染全局变量,闭包可以用来保存一个需要持久保存的变量 避免垃圾回收
坏处:其中一点上面已经有体现了,就是被引用的私有变量不能被销毁,
增大了内存消耗,造成内存泄漏,解决方法是可以在使用完变量后手动为它赋值为null;
11,请说说js的基本类型和引用类型
1.基本类型:number、boolean、string、undefined、 null
2.引用类型:array、object、function、regexp…
12,数组方法有哪些?
concat includes isArray join pop push reverse shift slice sort splice unshift
13,字符串方法有哪些?
indexOf lastIndexOf replace split substr substring toLowerCase toUpperCase includes repeat search slice
14,jQuery中的ajax 使用方法格式请写出来·
$.ajax({
type : 'post',
url : url,
async : false,
data : {
"id" : id,
"name" : name,
"title" : title
},
dataType : json,
success : function(msg){ //成功后
},
error : function(msg){ //错误后
console.log(msg);//输出报错信息
}
});
15,什么是事件冒泡,怎么阻止事件冒泡?
点击子级元素节点触发事件,也会触发父级的事件就是事件冒泡
阻止冒泡事件:event.stopPropagation()
16,Var a=NaN ,b =NaN 请问conse.log(a==b) 返回什么?
flase
17,Typeof( null ) 返回什么?
object -- 代表这个值是对象或null
18,Ajax请求中的同步和异步怎么理解有啥区别?
异步:发送一个请求,不需要等待返回,随时可以再发送下一个请求
同步:一步一步来操作,等待请求返回的数据,再执行下一步
19,写一下冒泡排序
a = [45,23,45,87,74,235,74,23,236,57,878]
for x in range(0,len(a-1)):
if a[x] > [a+x]:
b = a[x]
a[x] = a[x+1]
a[x+1] = b
print(a)
20,数组arr =[1,2,3,3,5,2,6] 请定义方法实现数组去重,得到【1,2,3,5,6】
var arr = [1,2,3,3,5,2,6]
var newarr = []
for(let i=0;i<arr.length;i++){
if(arr.indexof(arr[i])===i ){
newarr.push(arr[i])
}