js基础面试
JavaScript 是前端开发的核心语言,其基础面试题多涉及 BOM(Browser Object Model)和 DOM(Document Object Model)以及兼容性问题。理解这两部分对于操作浏览器环境和页面结构至关重要。
类型检测是 JavaScript 基础中的重点。typeof 操作符可判断变量类型,如 typeof obj === "string",但检测 null 时会返回 "object",需注意。obj.constructor === String 方式可判断构造函数,但不适用于 null 和 undefined。Object.prototype.toString.call(obj) 返回字符串标识,如 "[object String]",是最可靠的检测方法,适用于各种情况。
字符串空格时,replace() 结合正则表达式能删除所有空格,如 str.replace(/\s*/g, "")。trim() 方法去除两端空格,无法中间空格。trimLeft() 和 trimRight() 分别去除左边和右边空格。使用 jQuery 时,$.trim(str) 与 str.trim() 类似,只两端空格。
获取 URL 参数通常利用 window.location.href 获取完整地址。通过 split('?') 分割查询字符串,结合 split('&') 和 split('=') 将键值对转换为对象。例如,解析函数可以返回包含参数键值的对象,方便后续操作。
掌握常用的 字符串操作函数是基础能力。concat() 拼接字符串,indexOf() 查找子串首次出现位置。charAt(index) 返回指定字符,lastIndexOf() 查找一次出现的位置。match(regexp) 返回匹配数组,substr() 和 substring() 用于截取子串,slice() 支持负数索引。replace() 进行替换,search() 返回匹配索引。
针对兼容性,JavaScript 开发需关注旧版浏览器特性差异。通过使用 polyfills 模拟现代功能,确保代码在多环境下运行稳定。相关技术还涉及如何 BOM 和 DOM,这些模型决定了与浏览器和文档的交互方式。
深入理解 BOM 和 DOM 的区别与联系,对于浏览器兼容性问题及动态操作网页结构至关重要。相关资料详细阐述了两者的功能和应用,如如何动态创建 DOM 元素,或操控浏览器窗口和历史记录。