1、说一下innerHTML 与 innerText的作用与区别?
作用:都可以获取或者设置元素的内容
区别:innerHTML可以解析内容中的html标签
innerText不能解析内容中的html标签
2、JavaScript 由以下三部分组成:
1)、ECMAScript(语法部分):JavaScript 语言基础
2)、DOM(文档对象模型):规定了访问 HTML 和 XML 的方法
3)、BOM(浏览器对象模型):提供了浏览器窗口之间进行交互的对象和方法
3、介绍 JS 有哪些内置对象?
- 数据封装类对象:Object、Array、Boolean、Number、String
- 其他对象:Function、Arguments、Math、Date、RegExp、Error
- ES6 新增对象:Symbol、Map、Set、Promises、Proxy、Reflect
4、JS 的基本数据类型和引用数据类型
基本(原始)数据类型: number、string、boolean、undefined, null, symbol
引用数据类型: Object、Function、Array
5、说几条写 JavaScript 书写的基本规范?
- 代码一定要正确缩进,建议使用"二个或者四个空格"缩进
- 语句结束使用分号;
- 规范定义 JSON 对象,补全双引号
- 用{}和[]声明对象和数组
- 变量和函数在使用前进行声明
- 以大写字母开头命名构造函数,全大写命名常量
- 代码段使用花括号{}包裹
- 还有要书写正确的标识标签
6、什么是标识符?
在JS中,可以自定义命名的东西都属性标识符;
比如变量名,函数名,参数名都是标识符
7、DOM 元素e的 e.getAttribute(propName)和 e.propName 有什么区别和联系
e.getAttribute:获取的是标签上属性
可以通过e.setAttribute(propName, propValue)设置标签上属性
e.propName:获取的是元素对象上属性
8、offsetWidth/offsetHeight,clientWidth/clientHeight,scrollWidth/scrollHeight 的区别?
offsetWidth/offsetHeight 返回值包含 content + padding + border + 包含滚动条,效果与 e.getBoundingClientRect()相同
clientWidth/clientHeight 返回值只包含 content + padding,如果有滚动条,也不包含滚动条
scrollWidth/scrollHeight 返回值包含 content + padding + 溢出内容的尺寸
9、检测浏览器版本版本有哪些方式?
根据 navigator.userAgent // UA.toLowerCase().indexOf('chrome')
10、说一下元素节点、文本节点、属性节点的nodeType、nodeName、nodeValue分别是什么
nodeType(节点类型) nodeName(节点名称) nodeValue(节点的值)
元素节点: 1 元素标签名 null(没有值)
属性节点: 2 属性名 属性值
文本节点: 3 text 节点内容
后面更新的面试题都集合在这个链接中2022最全最新前端面试题(附加解答)_心如天然薄荷清凉的博客-CSDN博客_前端面试题