当前位置: 首页 > wzjs >正文

哪些网站能够免费做公考题关于网站开发的自我评价

哪些网站能够免费做公考题,关于网站开发的自我评价,做网站软件的公司,主要的电子商务网站有哪些目录 一、location对象 二、navigator对象 三、history对象 四、本地存储基础 五、localStorage详解 六、sessionStorage详解 七、存储复杂数据类型 本文摘要: 文章系统介绍了浏览器BOM(Browser Object Model)核心对象和本地存储技术。…

目录

一、location对象

二、navigator对象

三、history对象

四、本地存储基础

五、localStorage详解

六、sessionStorage详解

七、存储复杂数据类型


本文摘要:
文章系统介绍了浏览器BOM(Browser Object Model)核心对象和本地存储技术。主要内容包括:1)location对象解析URL组成及页面导航方法;2)navigator对象获取浏览器和设备信息;3)history对象管理浏览历史;4)对比localStorage(永久存储)和sessionStorage(会话存储)的特性与使用场景;5)存储复杂数据的JSON转换方法。最后总结了BOM"三剑客"(location/navigator/history)与存储"双雄"(localStorage/sessionStorage)的核心要点,并附高频面试题速答。全文为前端开发提供了浏览器对象和本地存储的实用技术指南。

一、location对象

URL组成解析

常用属性与方法

属性/方法说明示例
href完整URL(读写)location.href = 'https://new.com'
protocol协议部分location.protocol → "https:"
host主机名+端口location.host → "example.com:8080"
hostname主机名location.hostname → "example.com"
port端口号location.port → "8080"
pathname路径部分location.pathname → "/path/page.html"
search查询参数location.search → "?name=John"
hash锚点部分location.hash → "#section1"
reload()刷新页面location.reload(true)(强制刷新)
assign()跳转页面(保留历史)location.assign('new.html')
replace()替换页面(不保留历史)location.replace('login.html')

二、navigator对象

核心属性与应用

// 1. 浏览器基本信息
console.log('浏览器名称:', navigator.appName);
console.log('浏览器版本:', navigator.appVersion);
console.log('用户代理:', navigator.userAgent);
console.log('操作系统:', navigator.platform);// 2. 设备检测示例
function detectDevice() {const ua = navigator.userAgent;// 检测移动设备const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ua);// 重定向到移动版if(isMobile && !location.href.includes('m.')) {location.href = 'https://m.example.com';}
}// 页面加载时检测
window.addEventListener('DOMContentLoaded', detectDevice);

常用场景

  1. 移动设备检测与重定向

  2. 浏览器兼容性处理

  3. 网络状态检测(navigator.onLine


三、history对象

浏览历史操作

方法说明示例
back()后退一页history.back()
forward()前进一页history.forward()
go()跳转指定步数history.go(-2)(后退两页)
pushState()添加历史记录(不刷新)history.pushState(data, '', 'new-url')
replaceState()替换当前历史记录history.replaceState(data, '', 'current')

单页面应用(SPA)示例

// 导航切换(不刷新页面)
document.querySelectorAll('.nav-link').forEach(link => {link.addEventListener('click', function(e) {e.preventDefault();const page = this.getAttribute('data-page');// 更新内容loadPage(page);// 添加历史记录history.pushState({ page }, '', `#${page}`);});
});// 处理前进/后退
window.addEventListener('popstate', (e) => {if(e.state) {loadPage(e.state.page);}
});

四、本地存储基础

两种存储方式对比

特性localStoragesessionStorage
生命周期永久存储(除非手动删除)关闭浏览器标签页即失效
作用域同源窗口共享仅当前标签页可用
存储容量约5MB约5MB
应用场景长期保存的用户设置临时表单数据/单次会话数据

核心API

// 通用方法(两者API相同)
存储数据: setItem(key, value)
获取数据: getItem(key)
删除数据: removeItem(key)
清空所有: clear()

五、localStorage详解

基础使用

// 1. 存储数据
localStorage.setItem('username', 'john_doe');
localStorage.setItem('theme', 'dark');// 2. 获取数据
const username = localStorage.getItem('username');
console.log(username); // "john_doe"// 3. 删除单个数据
localStorage.removeItem('theme');// 4. 清空所有
localStorage.clear();

实际应用场景

  1. 用户主题偏好保存

  2. 购物车数据持久化

  3. 未登录时的草稿保存


六、sessionStorage详解

基础使用

// 存储表单数据
document.querySelector('form').addEventListener('submit', function(e) {e.preventDefault();const formData = {name: this.name.value,email: this.email.value};// 临时保存(刷新页面不丢失)sessionStorage.setItem('formData', JSON.stringify(formData));// 提交到服务器...
});// 页面加载时恢复数据
window.addEventListener('load', function() {const saved = sessionStorage.getItem('formData');if(saved) {const formData = JSON.parse(saved);document.querySelector('#name').value = formData.name;document.querySelector('#email').value = formData.email;}
});

适用场景

  1. 多步骤表单数据暂存

  2. 敏感数据临时存储(关闭页面自动清除)

  3. 单次会话的状态保存


七、存储复杂数据类型

问题与解决方案

// 尝试直接存储对象
const product = {id: 101,name: 'Wireless Headphones',price: 199.99
};localStorage.setItem('product', product);
console.log(localStorage.getItem('product')); // 输出 "[object Object]"

JSON转换方法

// 正确存储方式
// 1. 存储时转换为JSON字符串
localStorage.setItem('product', JSON.stringify(product));// 2. 读取时解析为对象
const saved = localStorage.getItem('product');
const productObj = JSON.parse(saved);
console.log(productObj.name); // "Wireless Headphones"// 3. 处理数组
const cartItems = [{id:1, qty:2}, {id:3, qty:1}];
localStorage.setItem('cart', JSON.stringify(cartItems));// 4. 读取数组
const cart = JSON.parse(localStorage.getItem('cart'));
console.log(cart[0].id); // 1

⚠️ 注意事项

  1. JSON不支持存储函数、undefined等特殊类型

  2. 循环引用的对象无法正确转换

  3. 使用try-catch处理解析错误:

    try {const data = JSON.parse(localStorage.getItem('data'));
    } catch(e) {console.error('解析失败', e);localStorage.removeItem('data');
    }


✅ BOM与存储核心要点总结

📝 高频面试题速答

  1. Q:location.reload(true)的作用?

    A:强制刷新页面(忽略缓存),相当于Ctrl+F5

  2. Q:如何检测用户是否在移动设备上?

    A:使用navigator.userAgent匹配设备关键字

  3. Q:localStorage和sessionStorage的主要区别?

    A:localStorage永久存储,sessionStorage会话结束即清除

  4. Q:为什么存储对象前要用JSON.stringify?

    A:因为本地存储只支持字符串,需将对象转为JSON字符串

  5. Q:history.pushState()和location.href的区别?

    A:pushState不刷新页面只添加历史记录,location.href会刷新页面


🧠 记忆口诀

"BOM三剑客,存储双雄会"

  • 三剑客:location、navigator、history

  • 双雄:localStorage、sessionStorage


文章转载自:

http://moFLSc5o.mbmtz.cn
http://ZTzTqmQs.mbmtz.cn
http://PYyCMfMB.mbmtz.cn
http://TRLQslHA.mbmtz.cn
http://OSMK9944.mbmtz.cn
http://RmP16EAn.mbmtz.cn
http://TU3xRyqT.mbmtz.cn
http://tfvhHnCK.mbmtz.cn
http://5Zg8PyTd.mbmtz.cn
http://HYG3YUIq.mbmtz.cn
http://uM9gtsA4.mbmtz.cn
http://13C77mil.mbmtz.cn
http://7L5rFKQY.mbmtz.cn
http://dT0BdAVH.mbmtz.cn
http://tLP8bhHr.mbmtz.cn
http://UwC9uh67.mbmtz.cn
http://jGXhqic5.mbmtz.cn
http://g4iPbm0L.mbmtz.cn
http://QoLzDUov.mbmtz.cn
http://kzKAzHc7.mbmtz.cn
http://XLjwZXKM.mbmtz.cn
http://w3DoQwYI.mbmtz.cn
http://pCN7hszN.mbmtz.cn
http://JImfuwfl.mbmtz.cn
http://aYowAFmD.mbmtz.cn
http://Egr2n0w3.mbmtz.cn
http://xrlydWAD.mbmtz.cn
http://ehHRmRYj.mbmtz.cn
http://bnfVuHjr.mbmtz.cn
http://EvmjgHtf.mbmtz.cn
http://www.dtcms.com/wzjs/661800.html

相关文章:

  • 顺企网哈尔滨网站建设怎么提高网站的访客量
  • 做vi设计的网站广州网站制作培训
  • 环保主题静态网站模板下载浙江购物网站开发设计
  • 有谁帮做网站的wordpress网站缩
  • 网站建设必备网站改版后 搜索不到
  • 专用车网站建设价格wordpress 反广告插件
  • 新蔡县城乡建设局网站学广告专业我后悔了
  • 陶瓷行业网站建设招标书做推广哪个平台好
  • 温岭市住房和城乡建设局网站建设工程有限公司是干什么的
  • 我要做个网站该怎么做朗润装饰成都装修公司官网
  • 青岛专门做网站的公司有哪些广告设计与制作用什么软件
  • 做网站自己不会维护怎么办礼品行业网站建设
  • wordpress企业免费主题是什么做seo网站不用域名
  • 云平台网站建设方案书大兴网站开发网站建设哪家好
  • 慈溪做网站公司wordpress redis
  • 单位网站备案做芯片代理哪个网站推广
  • 岳阳网站建设 熊掌号具有品牌的网站建设
  • 哪里网站建设公司比较好wordpress产品详情页
  • 做代还的人都聚集在哪些网站宁波工程造价信息网
  • 北京网站建设cnevowordpress 4.8.1 漏洞
  • 洛阳建设银行官方网站网站建设外出考察报告
  • 北京网站开发外包公司网站建设制作费
  • 成都网站制作公司电话前端seo搜索引擎优化
  • 免费网站软件推荐正能量企业信用网站建设
  • 胶南做网站寻找郑州网站建设公司
  • 关于文化的网站模板全球vi设计公司
  • wordpress相关文章源文件保定seo企业网站
  • 网站建设主题的确定wordpress 广告传媒
  • 网站黑名单网站建设淄博佳铉网络
  • 注册网站需要多少钱京东网店怎么开