JavaScript中的任何一个全局函数或全局变量都是window的属性
BOM是Browser Object Model的缩写,简称浏览器对象模型
window的子对象
- document 对象
- frames 对象
- history 对象
- location 对象
- navigator 对象
- screen 对象
window对象下的方法
窗体滚动轴控制
页面左上角为零点向右为x轴向下为y轴
window.scrollTo(x,y) //页面滚动到指定位置
window.scrollBy(x,y)//页面分别在x轴y轴上滚动了多少距离
新建窗口
var url = 'https://www.baidu.com'
window.open(url)//在新窗口打开指定连接页面
对话框
alert()
prompt()
confirm('')//确认对话框 包含确定和取消按钮 会返回一个boolean值
时间等待与间隔函数
var tid = setTimeout(function(){},毫秒数)
// n秒之后执行指定的方法 有两个参数 第一个参数是一个方法 第二个参数时间间隔数(以毫秒为单位的)
clearTimeout(tid);//清除定时器 需要有一个参数 这个参数是一个定时器
var timer = setInterval(function(){},毫秒数)
//每隔n秒执行执行的方法 有两个参数 第一个参数是一个方法 第二个参数时间间隔数(以毫秒为单位的)
// timer 没有特别的含义 它是一个number类型的数 可以理解为页面中的第几个定时器
clearInterval(timer)
//清楚定时器
单线程 多线程
js是单线程
同步 异步
主线程和任务队列
代码顺序执行 遇到异步方法(setTimeout)会把这个方法放进任务队列里
当主线程的任务都执行完毕后 会将任务队列中的方法取出 并且看等待时间间隔是否达到,如果时间到了就执行这个方法
history对象,在浏览器历史记录中导航
back() 加载 history 列表中的前一个 URL
forward() 加载 history 列表中的下一个 URL
go(num) 加载 history 列表中的某个具体页面
var oBtn = document.getElementById('btn');
oBtn.onclick = function() {
history.forward();
}
var oB1 = document.getElementById('btn1');
oB1.onclick = function() {
history.go(1);
}
navigatior对象属性
console.log(navigator.userAgent);
对象的属性代码使用方法为 对象.属性
chorme 是webkit内核
对象的方法代码使用方法为 对象.方法()
location对象
location对象的方法
location.replace('') 替换当前记录,history中没有历史记录
location.reload() 重新加载当前页面
location对象的属性
location.href = '' 打开新的页面,history中有历史记录
location.hash 设置或返回从井号 (#) 开始的 URL(锚)
location.host 设置或返回主机名和当前 URL 的端口号
location.hostname设置或返回当前 URL 的主机名
location.href 设置或返回完整的
location.pathname 设置或返回当前 URL 的路径部分
location.port设置或返回当前 URL 的端口号
location.protocol 设置或返回当前 URL 的协议
location.search 设置或返回从问号 (?) 开始的 URL(查询部分)
HTML URL
scheme://host.domain:port/path/filename
scheme - 定义因特网服务的类型。流行的类型是 http https file
host - 定义域主机(http 的默认主机是 www)
domain - 定义因特网域名,比如 w3school.com.cn
:port - 定义主机上的端口号(http 的默认端口号是 80)
path - 定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)。
filename - 定义文档/资源的名称
注意: 网址为https 资源为http 会报错
网址为http 资源https 不会报错
为了保证正确性
引用资源时会去掉scheme ://...... 这样资源会继承网址的scheme