文章目录
H5和H4不同之处
文件类型声明、新的解析顺序、新的元素、input元素新类型、新的属性、全域属性、移除元素、新特性(语义化标签、增强型表单、视频音频、绘图、websocket)
es6和es5区别
es6是js的一种语言标准,为了更好地编写大型应用程序,它在es5上又增加了一些功能,比如let、const(const定义的基本数据类型是不能被修改的,而引用数据类型存储的是指针,其中的对象属性是可以被修改的)、import字符处理解构赋值,性能提升,兼容问题Babel,新增箭头函数、块级作用域、Class概念、promise特性
跳出循环的方法
map和foreach不能用break和continue跳出循环
可通过try…catch抛出异常跳出循环
for和forEach的区别
1.forEach()不能使用break和continue这两个关键字,它实现break效果可以通过抛出异常的方式,实现continue的效果可以直接使用return
2.forEach的优势就是,它传入一个函数,因此形成了一个作用域,它内部所定义的变量不会像for循环一样污染全局变量
3.forEach()本身无法跳出循环,必须遍历所有的数据才能结束
display:none与visibility:hidden区别
visibility:hidden
占据空间,但是不可以交互,visibility具有继承性,子元素也会继承此属性,不会影响计数器计算,在css3的transition中支持visibility属性,但是不支持display。因为transition可以延迟执行,配合visibility使用纯css实现hover延时显示效果可以提高用户体验,会引起重绘
display:none
彻底隐藏元素,元素从文档流中消失,既不占据空间也不交互,会引起回流和重绘
伪元素和伪类
设置小于12px的文字大小
如何遍历对象属性
1.遍历自身可枚举属性 Object.keys()
2.遍历自身所有属性 Reflect.ownKeys()或Object.getOwnPropertyNames()
3.遍历可枚举的自身属性和继承属性 for…in
4.遍历所有的自身属性和继承属性
(14条消息) JavaScript中遍历对象属性方法详解_js 遍历对象属性_孙群的博客-CSDN博客
预解析
如何延长作用域链
1、try - catch 语句的 catch 块;会创建一个新的变量对象,包含的是被抛出的错误对象
的声明
2、with 语句。with 语句会将指定的对象添加到作用域链中。
var person = {
xName: "lisi"
}
function test(){
var xName = "zhangsan";
with(person){
var result = '姓名为' + xName
}
console.log(xName)
}
test()
// 输出结果为lisi
它的作用域链从 test的变量对象 => 全局的变量对象 变成了 person 的变量对象 => test的变量对象 => 全局的变量对象。
slice、splice、split 三者的区别
slice:截取字符串 或数组
splice:对数组进行删除、插入、替换
split:分割字符串返回数组
(14条消息) slice、splice、split 三者的区别_splice和slice和split的区别_鲸洛洛的博客-CSDN博客