前端面经<一>

本文详细介绍了JavaScript中原生数组方法(如concat, join, pop等)的使用,区别于全局函数(如escape, sort等),并探讨了哪些操作不会改变原数组。此外,涵盖了DOM事件、HTML5 input类型、DOM操作优化以及HTML样式定义等内容。
摘要由CSDN通过智能技术生成

1.原生 js 操作数组的方法(Array 对象方法):

  • concat() 连接两个或更多的数组,并返回结果。

  • join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

  • pop() 删除并返回数组的最后一个元素

  • push() 向数组的末尾添加一个或更多元素,并返回新的长度。

  • reverse() 颠倒数组中元素的顺序。

  • shift() 删除并返回数组的第一个元素

  • slice() 从某个已有的数组返回选定的元素

  • sort() 对数组的元素进行排序 splice() 删除元素,并向数组添加新元素。

  • toSource() 返回该对象的源代码。

  • toString() 把数组转换为字符串,并返回结果。

  • toLocaleString() 把数组转换为本地数组,并返回结果。

  • unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

  • valueOf() 返回数组对象的原始值

注意:resort不属于原生 js 操作数组的方法。

2.JavaScript的全局函数

编码相关:

​ escape()、unescape()、encodeURI()、decodeURI()、

​ encodeURIComponent()、decodeURIComponent()

数据处理:

​ Number()、String()

数字相关:

​ isFinite()、isNaN()、parseFloat()、parseInt()

特殊:

​ eval()

注意:setTimeout是各大浏览器自己实现的api,不属于es标准

3.哪些Array对象的方法不会更改原有数组?

concat函数连接多个array,不改变原array,返回连接的结果

map函数对array中的每一项执行指定函数,将每一项执行的结果组成新的array返回

注意:

sort方法,数组在原数组上进行排序,并返回数组,所以会改变原数组

splice函数对array进行操作,会改变array。

4.如何阻止IE和各大浏览器默认行为

阻止默认事件:

​ e.preventDefault()

​ e.returnValue = false (IE)

阻止冒泡:

​ e.stopPropagation()

​ e.cancelBubble = true (IE)

注意: event.preventDefault()只可以阻止火狐谷歌,event.returnValue = false才能也阻止IE

5.在html元素中用来定义样式的属性

外联:使用link标签引入外部的css文件。

内联:在head标签中使用style标签。

嵌入:在标签中使用style属性。

6.关于DOM事件的描述

  • onload() 元素被载入(文档,框架或图像)

  • onclick() 鼠标点击一个元素时触发

  • onchange() 事件会在域的内容改变时发生

  • onblur() 会在对象失去焦点时发生

  • onreset() 表单元素被重置,比如当用户按下表单重置按钮

7.在HTML5中,为input元素新增了以下一些type属性值:

  • color:用于指定颜色的控件。
  • date:用于输入日期的控件(年,月,日,不包括时间)。
  • month:用于输入年月的控件,不带时区。
  • week:用于输入一个由星期-年组成的日期,日期不包括时区
  • time:用于输入不含时区的时间控件。
  • datetime:基于UTC时区的日期时间输入控件(时,分,秒及几分之一秒)。
  • datetime-local:用于输入日期时间控件,不包含时区。
  • email:用于应该包含 e-mail 地址的输入域。在提交表单时,会自动验证 email 域的值。
  • number: 用于应该包含数值的输入域。只能输入数字
  • range:用于应该包含一定范围内数字值的输入域。range 类型显示为滑动条。
  • search:用于输入搜索字符串的单行文本字段。换行会被从输入的值中自动移除。
  • tel:用于输入电话号码的控件。在移动端输入会显示数字键盘,PC端无效果
  • url:用于编辑URL的字段。

8.下面情况会导致reflow(回流)发生

1:改变窗口大小

2:改变文字大小

3:内容的改变,如用户在输入框中敲字

4:激活伪类,如:hover

5:操作class属性

6:脚本操作DOM

7:计算offsetWidth和offsetHeight

8:设置style属性

为了减少回流要注意哪些方式:

1:不要通过父级来改变子元素样式,最好直接改变子元素样式,改变子元素样式尽可能不要影响父元素和兄弟元素的大小和尺寸

2:尽量通过class来设计元素样式,切忌用style

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值