博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
13 -1 BOM和定时器
阅读量:4924 次
发布时间:2019-06-11

本文共 1405 字,大约阅读时间需要 4 分钟。

一 BOM

JavaScript基础分为三个部分:

  • ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。

  • DOM:文档对象模型,操作网页上的元素的API。比如让盒子移动、变色、轮播图等。

  • BOM:浏览器对象模型,操作浏览器部分功能的API。比如让浏览器自动滚动。

从上图也可以看出:

  • window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象。

  • DOM是BOM的一部分。

window对象:

  • window对象是JavaScript中的顶级对象

  • 全局变量、自定义函数也是window对象的属性和方法。

  • window对象下的属性和方法调用时,可以省略window。

1、打开窗口:

window.open(url,target)

参数解释:

  • url:要打开的地址。

  • target:新窗口的位置。可以是:_blank 、_self、 _parent 父框架。

2  location对象的属性

  • href:跳转

  • hash 返回url中#后面的内容,包含#

  • host 主机名,包括端口

  • hostname 主机名

  • pathname url中的路径部分

  • protocol 协议 一般是http、https

  • search 查询字符串

例子

1  2 
smyhvae
3 13

3  navigator对象

window.navigator 的一些属性可以获取客户端的一些信息。

  • userAgent:系统,浏览器)

  • platform:浏览器支持的系统,win/mac/linux

 例子:

1  2  3  4     
5 BOM 6 7 8 24 25 26
View Code

二 定时器

在js中的定时器分两种:1、setTimeout() 2、setInterval()

1.setTimeOut()

只在指定时间后执行一次

1 /定时器 异步运行  2 function hello(){  3 alert("hello");  4 }  5 //使用方法名字执行方法  6 var t1 = window.setTimeout(hello,1000);  7 var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法  8 window.clearTimeout(t1);//去掉定时器

2.setInterval()

在指定时间为周期循环执行

1 /实时刷新  时间单位为毫秒  2 setInterval('refreshQuery()',8000);   3 /* 刷新查询 */  4 function refreshQuery(){  5   console.log('每8秒调一次') 6 }

两种方法根据不同的场景和业务需求择而取之,

对于这两个方法,需要注意的是如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout

转载于:https://www.cnblogs.com/huningfei/p/9332471.html

你可能感兴趣的文章
定期备份脚本
查看>>
生成桌面插件
查看>>
Unable to resolve target 'android-9'
查看>>
vector和list的区别
查看>>
[LeetCode] 127. Word Ladder _Medium tag: BFS
查看>>
20172302 《程序设计与数据结构》第四周学习总结
查看>>
FZU 2086 餐厅点餐(枚举)
查看>>
HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者(基础巴什博奕)
查看>>
多态,虚函数
查看>>
Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5
查看>>
get_locked_objects_rpt.sql
查看>>
基于SignalR的消息推送与二维码描登录实现
查看>>
jquery 绑定事件
查看>>
排序之快速排序
查看>>
单调队列&单调栈归纳
查看>>
新安装的jdk,不知道为啥一直走别的jdk路径
查看>>
leetcode 9. Palindrome Number
查看>>
2018/1/9 redis学习笔记(一)
查看>>
协程 - 单线程并发--day36
查看>>
oracle存储过程遇到的问题
查看>>