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 元素,或操控浏览器窗口和历史记录。