<JavaScript高级程序设计>读书笔记(第8章BOM之window对象)

不想你离开。 提交于 2020-03-01 10:48:08

1.全局变量不能通过delete操作符删除,而直接在window对象上定义的对象可以

		var age=19;//全局变量
		window.color="red";
		
		delete window.age;//在IE<9时抛出错误,在其他浏览器中返回false
		delete window.color;//在IE<9时抛出错误,在其他浏览器中返回true
		
		console.log(window.age);//19
		console.log(window.color);//undefined

2.获取窗体大小

		var pageWidth=window.innerWidth,
		    pageHeight=window.innerHeight;
		if(typeof pageWidth !="number"){
			if(document.compatMode=="CSS1Compat"){
				pageWidth=document.documentElement.clientWidth;
				pageHeight=document.documentElement.clientHeight;
			}else{
				pageWidth=document.body.clientWidth;
				pageHeight=document.body.clientHeight;
			}
		}
		console.log(pageWidth);
		console.log(pageHeight);

3.打开新窗口

window.open("test.html","_blank");

4.检测是否屏蔽了弹窗

		//IE(IE7、8)和火狐会返回null
		//chrome不返回null
		if(openWin == null){
			alert("您的浏览器屏蔽了弹窗");
		}

5.更准确的检测浏览器是否屏蔽了弹窗

		//IE(IE7、8)和火狐会返回null,chrome不返回null
		var blocked=false;
		try{
			var openWinTest=window.open("demoLayout-1.html");
			if(openWinTest==null){
				blocked=true;
			}
		}catch(ex){
			blocked=true;
		}
		
		if(blocked){
			alert("您的浏览器屏蔽了弹窗");
		}

6.超时调用

	   setTimeout(function(){
	   	alert("hello");
	   },1000);
       //超时调用的取消
	   var timeoutId=setTimeout(function(){
	   	alert("Hello");
	   },1000);
	   //取消
	   clearTimeout(timeoutId);

7.间歇调用,会根据设置的时间值来重复调用,直到被取消或页面被卸载

	   setInterval(function(){
	   	alert("Hello");
	   },1000);
       //间歇调用取消
	   var intervalId=setInterval(function(){
	   	alert("Hello");
	   },1000);
	   clearInterval(intervalId);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!