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

北京平台网站建设哪家好公司请人做的网站打不开

北京平台网站建设哪家好,公司请人做的网站打不开,手机导入wordpress主题,公司网站开发费用济南兴田德润评价一、BOM BOM(Browser Object Model,浏览器对象模型是浏览器提供的用于与浏览器窗口进行交互的对象模型。与DOM(文档对象模型)不同,BOM关注的是浏览器窗口本身而非文档内容。 BOM包含DOM:DOM实际上是BOM的一…

一、BOM

BOM(Browser Object Model,浏览器对象模型是浏览器提供的用于与浏览器窗口进行交互的对象模型。与DOM(文档对象模型)不同,BOM关注的是浏览器窗口本身而非文档内容。

  • BOM包含DOM:DOM实际上是BOM的一部分,window.document就是DOM的入口,不过一般情况下都会省略window,因为window是唯一且最大的

  • window 是 BOM(浏览器对象模型)的顶层对象,代表浏览器窗口。BOM 包含所有与浏览器交互的对象(如 document、location、navigator 等),而 window 是它们的全局入口。

    -window 是 BOM 的一部分,也是 BOM 的核心

  • BOM核心对象

    • window:顶级对象,代表浏览器窗口
    • location:包含当前URL信息
    • navigator:提供浏览器信息
    • screen:提供用户屏幕信息
    • history:提供浏览器历史记录操作,前进或后退

二、Window对象

1. Window对象的全局性

在浏览器中,window对象具有一些独特特性:

// 在全局作用域中声明的变量和函数实际上都成为window的属性和方法
var globalVar = 'Hello';
function globalFunc() {}console.log(window.globalVar); // 'Hello'
console.log(window.globalFunc === globalFunc); // true 省略了window但实质不变

2. 窗口控制方法

window提供了多种控制浏览器窗口的方法:

// 打开新窗口
const newWindow = window.open('https://example.com', '_blank', 'width=600,height=400');// 关闭窗口
newWindow.close();// 调整窗口大小
window.resizeTo(800, 600);// 移动窗口位置
window.moveTo(100, 100);

三、定时器机制

window提供了两种主要的定时器方法,它们对于实现延迟执行和周期性任务至关重要。

特性setTimeout()(延迟)setInterval()(间歇)
执行次数仅一次重复执行,直到清除
停止方式clearTimeout(timerId)clearInterval(timerId)
适用场景延迟任务(如广告弹窗)周期性任务(如倒计时、轮播图)
风险可能因执行时间过长导致堆积

实际应用示例

// 倒计时实现
let count = 10;
const timer = setInterval(() => {console.log(count--);if (count < 0) {clearInterval(timer);console.log('倒计时结束!');}
}, 1000);// 防抖函数实现(使用setTimeout)
function debounce(fn, delay) {let timer = null;return function() {clearTimeout(timer);timer = setTimeout(() => {fn.apply(this, arguments);}, delay);};
}

四、JavaScript执行机制

在这里插入图片描述
理解这两段代码的执行结果,就理解了js的执行机制(答案均为 132

1. 单线程特性

JavaScript具有单线程的特点,同一时间只能执行一个任务。这可能导致长时间运行的脚本阻塞页面渲染。

2. 同步与异步任务

  • 同步任务:在主线程上顺序执行,形成"执行栈"
  • 异步任务:通过回调函数实现,分为三类:
    • 普通事件(click, resize)
    • 资源加载(load, error)
    • 定时器(setInterval, setTimeout)

3. 事件循环(Event Loop)

JavaScript的执行机制遵循以下步骤:

  1. 按顺序执行执行栈中的同步任务
  2. 将异步任务放入任务队列(消息队列)
  3. 当执行栈清空后,系统按顺序读取任务队列中的异步任务
  4. 异步任务进入执行栈开始执行
  5. 循环此过程,形成"事件循环"

4. 微任务与宏任务

现代JavaScript引擎将任务进一步细分:

  • 宏任务:setTimeout, setInterval, I/O, UI渲染
  • 微任务:Promise.then, process.nextTick, MutationObserver

执行顺序:同步任务 > 微任务 > 宏任务

console.log('1. 同步任务');setTimeout(() => {console.log('4. 宏任务');
}, 0);Promise.resolve().then(() => {console.log('3. 微任务');
});console.log('2. 同步任务');

五、Location对象

location对象提供了与当前URL相关的信息和操作方法。

常用属性和方法

// 获取完整的URL
console.log(location.href);// 获取查询参数
console.log(location.search); // "?id=123&name=test"// 获取哈希值
console.log(location.hash); // "#section1"// 重新加载页面
location.reload(); // 可能从缓存加载
location.reload(true); // 强制从服务器重新加载// 跳转到新页面
location.href = 'https://example.com';
location.assign('https://example.com'); // 会保留历史记录
location.replace('https://example.com'); // 不会保留历史记录// 解析URL各部分
console.log(location.protocol); // "https:"
console.log(location.host); // "example.com:8080"
console.log(location.hostname); // "example.com"
console.log(location.port); // "8080"
console.log(location.pathname); // "/path/page.html"

URLSearchParams API

现代浏览器提供了更便捷的URL查询参数处理方式:

const params = new URLSearchParams(location.search);
console.log(params.get('id')); // "123"
params.set('page', '2');
console.log(params.toString()); // "id=123&page=2"

六、Navigator对象

navigator对象提供了关于浏览器的详细信息。

常用属性和方法

// 浏览器信息
console.log(navigator.userAgent); // 用户代理字符串
console.log(navigator.appName); // 浏览器名称
console.log(navigator.appVersion); // 浏览器版本// 系统信息
console.log(navigator.platform); // 操作系统平台
console.log(navigator.language); // 浏览器语言// 功能检测
console.log(navigator.cookieEnabled); // 是否启用cookie
console.log(navigator.onLine); // 是否联网// 地理位置API
navigator.geolocation.getCurrentPosition(position => {console.log(position.coords.latitude, position.coords.longitude);},error => {console.error(error);}
);// 媒体设备访问
navigator.mediaDevices.getUserMedia({ video: true, audio: true }).then(stream => {// 处理媒体流}).catch(error => {console.error(error);});

现代Web API

// 检查网络状态
window.addEventListener('online', () => console.log('在线'));
window.addEventListener('offline', () => console.log('离线'));// 剪贴板API
navigator.clipboard.writeText('要复制的文本').then(() => console.log('复制成功')).catch(err => console.error('复制失败:', err));// 电池状态API
navigator.getBattery().then(battery => {console.log(`电量: ${battery.level * 100}%`);console.log(`充电状态: ${battery.charging ? '充电中' : '未充电'}`);
});

七、History对象

history对象允许操作浏览器的会话历史记录。

基本方法

// 前进
history.forward();// 后退
history.back();// 跳转到历史记录中的特定位置
history.go(-2); // 后退两页
history.go(1); // 前进一页

现代History API

HTML5引入了更强大的History API,支持单页应用(SPA)开发:

// 添加历史记录并改变URL(不刷新页面)
history.pushState({ page: 1 }, 'Page 1', '/page1');// 替换当前历史记录
history.replaceState({ page: 2 }, 'Page 2', '/page2');// 监听popstate事件(用户点击前进/后退按钮)
window.addEventListener('popstate', event => {console.log('状态:', event.state);// 根据event.state更新页面内容
});// 获取当前状态
console.log(history.state);

八、Screen对象

screen对象提供了用户屏幕的信息:

console.log(screen.width); // 屏幕宽度
console.log(screen.height); // 屏幕高度
console.log(screen.availWidth); // 可用宽度(减去任务栏等)
console.log(screen.availHeight); // 可用高度
console.log(screen.colorDepth); // 颜色深度
console.log(screen.pixelDepth); // 像素深度
console.log(screen.orientation); // 屏幕方向

文章转载自:

http://b7hYacLZ.tbzcL.cn
http://Rls1UB0A.tbzcL.cn
http://KVrLl0eX.tbzcL.cn
http://izZkJPta.tbzcL.cn
http://nsnTqUba.tbzcL.cn
http://1X0ug8H5.tbzcL.cn
http://QGvWE3vN.tbzcL.cn
http://mLeP6Ebo.tbzcL.cn
http://ko71qiK8.tbzcL.cn
http://ybcOnevM.tbzcL.cn
http://7dOOhl7D.tbzcL.cn
http://qkkx4wWF.tbzcL.cn
http://nVkAEyjN.tbzcL.cn
http://6cplvKGK.tbzcL.cn
http://sWqXSJO2.tbzcL.cn
http://RanVILec.tbzcL.cn
http://J9YevGdx.tbzcL.cn
http://55f8t4Fh.tbzcL.cn
http://hNWjztpL.tbzcL.cn
http://z99hRzXO.tbzcL.cn
http://XV1nOBDM.tbzcL.cn
http://ldCQT26r.tbzcL.cn
http://TM6PO8ax.tbzcL.cn
http://506ejQlf.tbzcL.cn
http://Gsjlyqim.tbzcL.cn
http://peCQKsuC.tbzcL.cn
http://rJ0E40VP.tbzcL.cn
http://Oaa1Bz7Y.tbzcL.cn
http://xbzbJ0bz.tbzcL.cn
http://hb0u2jz1.tbzcL.cn
http://www.dtcms.com/wzjs/743379.html

相关文章:

  • 网站新闻源码九福在线代理网页
  • 塘沽做网站企业展厅设计公司口碑好的原因
  • 做传媒网站公司名称桂林网络搭建
  • 专业做h5网站wordpress 文章投票
  • 互联网众筹网站怎样建设文创产品设计案例及理念
  • 有什么做调查的网站邯郸信息港二手车出售
  • ups国际快递网站建设网站建设实例
  • 网站提示风险私人wordpress
  • 白山网站建设网盘搜索引擎入口
  • 网站建设:宏智网络科技做微信公众号页面的网站
  • 长沙网站建设王道下拉惠地方网站做的好的
  • 企业宣传网站模板下载织梦cms小说网站采集
  • 陶艺品网站模板建设集团摩托车
  • 仿懒人图库网站源码深圳网站建设行业排行
  • 柳州正规网站制作公司哪家好南通高端网站设计开发
  • 网站建设佰首选金手指十四网络推广合作协议范本
  • o2o平台网站开发服务器上给网站做301跳转
  • 网站定制报价表网站服务器租用怎样收费
  • 网站版面布局结构图深圳做网站公司有哪些公司
  • 什么是企业网站营销广东省建筑施工企业安全管理人员
  • 网站建设含意建网站的程序
  • 自动优化网站软件没有了青岛建筑
  • 中心网站建设管理工作网络安全培训最强的机构
  • 东莞网站制作公有没有在线辅导家做的网站
  • 360兼容模式网站错位app的开发流程是什么
  • 网站打模块长沙装修公司口碑
  • 网站源码交易网百度站长验证网站失败
  • 贵州专业网站建设公司软件商店oppo版本最新版
  • 百色网站免费建设网页设计实训总结2000字
  • 插画师培训网站建设广州网站优化关键词公司