BOM:Browser Object Model 浏览器对象模型;
只要打开一个浏览器,就会创建一个window对象
let 全局变量无法被window使用
var 全局变量可以被window使用
即 var 声明变量(非函数内部)为window的属性
delete window.i; delete window.j; delete window.k; console.log(window.i,window.j,window.k); window.f70 = "name"; console.log(window.f70); // name delete window.f70; console.log(window.f70); // undefined不支持低版本IE浏览器(IE8)建议使用此版本
// 浏览器离屏幕左侧的距离 console.log(window.screenX); // 浏览器离屏幕顶部的距离 console.log(window.screenY);不支持火狐浏览器
// 浏览器离屏幕左侧的距离 console.log(window.screenLeft); // 浏览器离屏幕顶部的距离 console.log(window.screenTop);(width height)
inner获取的是视口的尺寸
console.log(window.innerWidth); console.log(window.innerHeight);outer获取的是浏览器的尺寸
console.log(window.outerWidth); console.log(window.outerHeight);不包含任务栏
let pingmukuandu = screen.availWidth; // 横向滚动条 let pingmugaodu = screen.availHeight; // 垂直滚动条 console.log(pingmukuandu, pingmugaodu);replace(); 当前页面会显示新页面内容(共用一个窗口)
注:replace没有返回功能
function f70() { location.replace('./index.html') }assign(); 当前页面显示新页面内容(与原页面不共用一个窗口)
注:assign 有返回功能
function f71() { location.assign("./index.html") }返回值使用户输入的内容
let input = window.prompt('请输入您的手机号:'); let re = /^[1][3-9][0-9]{9}$/; let i = re.test(input); if (i) { window.alert("手机号正确"); } else { window.alert("手机号格式错误") } let j = input.match(re); if (j) { window.alert("手机号正确"); } else { window.alert("手机号格式错误") }setInterval(多个参数)
2个参数:第一个参数:函数名(需要执行的代码);第二个参数:设定的时间(毫秒);第三个参数及以后,为第一个参数中函数的实参
功能:根据设定的时间,执行函数
**例如:**setInterval(f70,1000):每1秒钟调用一次 f70函数。
let i = 0; function f70() { console.log(`hahahahah${i++}`); } setInterval(f70, 1000);时间函数第一个参数(函数)加小括号的书写方式
function f74(a,b) { console.log(a+b); } setInterval("f74(1,2)",1000);由于JS是由多个时间函数的,
如果想要停止时间函数,需要告知停掉那个时间函数;因此在创建时间函数时,需要用变量接收当前时间函数
停止时间函数的书写格式: clearInterval(接收时间函数返回值的变量)
let j = 5; let timer = setInterval(f71, 1000); function f71() { console.log(j--); if (j == 0) { // 停掉时间函数 clearInterval(timer); return; } }功能:当达到设置时间后,执行相应的函数(只执行1次)
console.log(`请稍后,正在点钞`); function f72() { console.log(`取钱成功`); } setTimeout(f72,3000); // 三秒后执行函数 f72