前端知识自测:数据类型、数组判断与浏览器特性

需积分: 9 2 下载量 137 浏览量 更新于2024-09-07 收藏 17KB DOCX 举报
"这是一份前端知识自测题目集,主要涵盖了JavaScript基础、类型检查、时间戳获取、逻辑判断、作用域以及数组处理等方面,旨在帮助前端开发者进行自我测评和学习提升。" 1、JavaScript中常用的数据类型包括字符串(string)、数字(number)、布尔(boolean)、数组(array)、对象(object)、Null和Undefined。typeof操作符用于检测变量的类型,它会返回对应的字符串,例如"string"、"number"等。 2、`typeof fn`在变量fn未定义时,会返回"undefined",因为fn此时不存在于当前作用域中。 3、判断一个对象是否为数组类型,可以使用`Array.isArray()`或`instanceof Array`。如`console.log(arr instanceof Array)`如果arr是数组,将返回true。 4、获取当前时间戳,可以使用`Date.now()`或`new Date().getTime()`,它们都会返回距离1970年1月1日(UTC)以来的毫秒数。 5、在JavaScript中,非零数字被视为true,零和空字符串被视为false。所以'0' == false的结果是true,因为它们在布尔转换后都是false。 6、这段代码会创建一个循环,每次循环都将当前的i值作为alert函数的名称动态赋值给window对象。当循环结束并尝试执行`window.alert0()`时,由于i已变为5,因此输出5。 7、这段代码利用了JavaScript的作用域和闭包特性,`this`在不同的作用域中指向不同。输出结果分别为1(在构造函数中)、2(在立即执行函数内部)、1(在全局作用域中),因为闭包导致了对同一个`this.num`的访问。 8、要去重一个数组,可以使用ES6的Set数据结构、双重循环检查、或者利用数组的filter方法结合indexOf。思路是创建一个新的数组,只包含原数组中独一无二的元素。 9、cookies、sessionStorage和localStorage是Web存储的三种方式。cookies数据始终发送到服务器,容量小(4KB左右)。sessionStorage仅在当前会话中有效,关闭浏览器后数据消失。localStorage持久化存储,直到手动清除。 10、`display:none`会使元素完全不占据空间,而`visibility:hidden`则元素仍保留原有空间,只是内容不可见。 11、`box-sizing`属性控制元素的边框和内填充如何影响元素的总尺寸。可选值有`content-box`(默认值,元素的总宽度和高度由内容区域的宽度和高度、边框和内填充计算得出)和`border-box`(元素的总宽度和高度仅由边框区域的宽度和高度决定,不考虑内容和内填充)。通常为了更好地控制布局,会设置为`border-box`。 12、`call`方法允许你调用一个函数,并且指定这个函数的`this`值以及传入参数。它是实现函数上下文切换的重要手段,常用于继承场景。 以上就是这份前端试题中涉及的主要知识点,它们覆盖了JavaScript基础、数组操作、DOM操作、Web存储以及CSS样式等多个方面,是前端开发人员巩固和提升技能的好材料。