• BOM介绍和window对象的方法

一、BOM对象

(浏览器对象模型 BOM)

1、window alert() confirm() prompt() setInterval() ​ setTimeout()

2、location ​ herf ​ hash ​ url ​ ...

3、screen

4、history ​ go()

二、window方法

1、alert()

 alert('派大星');

2、confirm()

 var a = window.confirm('你确定要离开网站吗?');
console.log(a);

3、prompt()

 var name = window.prompt('今天吃了什么?','海绵宝宝');
//前面是输入,后面是默认
console.log(name);
  • 定时器方法

一、setTimeout() 延迟性操作

 1 window.setTimeout(function(){
2 console.log('派大星');//延迟了4秒
3 },4000);
4 console.log('海绵宝宝');
5
6 //定时器 异步运行
7 function hello(){
8 alert("hello");
9 }
10
11 var t1 = window.setTimeout(hello,1000);//使用方法名字执行方法
12 var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法

二、setInterval() 定时输出

 1 var num = 0;
2 var timer = null;
3 timer = setInterval(function(){
4 num++;
5 if(num>5){
6 clearInterval(timer);
7 return;
8 }
9 console.log('num:'+num);
10 },1000);//1秒输出一次
11
12
13 //实时刷新 时间单位为毫秒
14 setInterval('refreshQuery()',8000);
15 /* 刷新查询 */
16 function refreshQuery(){
17 console.log('每8秒调一次')
18 }
  •  location对象

window.location可以简写成location。location相当于浏览器地址栏,可以将url解析成独立的片段。

一、属性

1 console.log(location.host);//主机名,包括端口
2 console(location.hostname);//主机名
3 console.log(location.href); //完整的url(网址)
4 console.log(location.pathname); //文件名(url中的部分路径)
5 console.log(location.port); //端口号
6 console.log(location.protocol); //协议(HTTP、https)
7 console.log(location.search) //提交的text(查询字符串)

二、location 每个查询字符串参数获取方法

1、一个地址

1 HTML、CSS、JS文件代码/BOM代码文件/04 location对象的常用属性.html?user=aaa&pwd=123
2
3 //?user=aaa&pwd=123

2、取得去掉问号的查询字符串

1 var qs = location.search.length > 0? location.search.substring(1) : '';//user=aaa&pwd=123
2 //从索引 1 开始取到后面的字符

3、将取到的字符串且分开

1 var items = qs.length? qs.split('&') : [];//['user=aaa','pwd=123']

4、定义参数

1 var item = null,//装 items 中的元素
2 name = null,//装 item 中的名字
3 value = null,//装名字对应的值
4 args = {};//装结果

5、循环取出 items 中的值进行操作

1 for(i = 0;i<items.length;i++){
2 item = items[i].split('=');//['name','aaa']等号分隔开
3 name = decodeURIComponent(item[0]);
4 value = decodeURIComponent(item[1]);
5 if(name.length){
6 args[name] = value;
7 }
8 }
9 console.log(args);//示例:{user: "派大星", pwd: "cz"}

6、用函数进行封装一下

 1 function userPwd(){
2 //1、取得去掉问好的查询字符串
3 var qs = location.search.length > 0? location.search.substring(1) : '';//user=aaa&pwd=123
4 var items = qs.length? qs.split('&') : [];//['user=aaa','pwd=123']
5 var item = null,name = null,value = null,args = {};
6 for(i = 0;i<items.length;i++){
7 item = items[i].split('=');//['name','aaa']
8 name = decodeURIComponent(item[0]);
9 value = decodeURIComponent(item[1]);
10 if(name.length){
11 args[name] = value;
12 }
13 }
14 return args;
15 }
16 var newUserPwd = userPwd();
17 console.log(newUserPwd);
  •  设置跳转、刷新网页
 setTimeout(function(){
location.href = 'https://www.cnblogs.com/songhaixing/';
//跳转有历史记录
location.replace('https://www.cnblogs.com/songhaixing/');
//跳转没有历史记录
location.reload();//两秒后重载网页(刷新)
},2000)
  • 检测浏览器上的插件

一、navigator对象(插件检测)

 console.log(navigator.plugins);//查看浏览器里安装了的所有插件

 function hasPlugin(name){
//如果有插件 返回true 反之亦然
name = name.toLowerCase();//转成小写方便比较
for(var i = 0;i < navigator.plugins.length;i++){
if(navigator.plugins[i].name.toLowerCase().indexOf(name) > -1){
//循环取出来的第i 个插件的名字的小写,然后找出名字的索引,大于-1 表示存在
return true;
}else{
return false;
}
}
}
alert(hasPlugin('asdas'));//false,没有这个插件
alert(hasPlugin('Chromium PDF Viewer'));//true 有这个插件
  • history对象

延时 刷新 / 前进 / 后退

 var count = 0;
setTimeout(function(){
count++;
console.log(count); // 计算次数
history.go(0);//刷新
history.go(1);//正数前进
history.go(-2);//负数后退
},2000)//两秒 刷新/前进/后退

BOM介绍以及方法的更多相关文章

  1. 详解BOM头以及去掉BOM头的方法

    类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM).它是一串隐藏的字符,用于让记事本等编辑器识别 ...

  2. 详解BOM头以及去掉BOM头的方法--踩过BOM的大坑

    类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM).它是一串隐藏的字符,用于让记事本等编辑器识别 ...

  3. bom头解释方法和去掉方法

    什么是bom头? 在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也 ...

  4. 介绍array_multisort方法

    介绍array_multisort方法 array_multisort — 对多个数组或多维数组进行排序.其php 手册中的说明如下:  代码如下: bool array_multisort ( ar ...

  5. python每个文件都需要顶部注释,那今天介绍一个方法,只需要设置一次,下次新建python文件后,注释自动出现在顶部的方法

    python每个文件都需要顶部注释,那今天介绍一个方法,只需要设置一次,下次新建python文件后,注释自动出现在顶部的方法 只需要在file -----settings------file and ...

  6. Day047--JS BOM介绍, jQuery介绍和使用

    内容回顾 DOM 文档对象模型(model) 一个模型就是一个对象(属性和方法 面向对象的三大特性:封装 继承 多态) 为了可扩展性 DOM操作 标签属性操作 获取值 getAttribute() 设 ...

  7. paper 6:支持向量机系列三:Kernel —— 介绍核方法,并由此将支持向量机推广到非线性的情况。

    前面我们介绍了线性情况下的支持向量机,它通过寻找一个线性的超平面来达到对数据进行分类的目的.不过,由于是线性方法,所以对非线性的数据就没有办法处理了.例如图中的两类数据,分别分布为两个圆圈的形状,不论 ...

  8. BOM介绍

    BOM 浏览器对象模型 BOM (Browser Object Model,浏览器对象模型)提供了通过 JavaScript 访问和控制浏览器窗口(window).显示器(screen)与浏览历史(h ...

  9. BOM的节点方法和属性

    一.HTML DOM >>>>>>>>>>>>>>>>>>>>具体可以参考W3S ...

随机推荐

  1. 集群式Quartz定时任务框架实践

    在日常开发汇总,经常会遇到需要定时任务的场景,简单的,可以使用Spring的定时任务调度框架,也可以使用Quartz.无论使用哪种,都需要解决一个问题,那就是集群问题.一般情况下,定时任务能且仅能运行 ...

  2. TimePicker - NG-ZORRO设置

    前言 依照官方例子,要给nz-time-picker组件设置某些时间范围不能选择. 正文 根据列表里设置的开始时间与结束时间,去限制弹框的时间组件选择范围.这里用到了组件的nzDisabledHour ...

  3. 关于eclipse码代码时光标自动消失要重新点击输入框的问题

    前几天码代码时在两个电脑都出现了同样的问题,就是在输入的时候,输入法突然从程序框切换到某不可名状的位置,要重新点击输入框才能解决.(后发现不但是eclipse,任何带有输入框的都会出现此问题) 经排查 ...

  4. 比较typeof与instanceof

    相同点: JavaScript中typeof和instanceof常用来判断一个变量是否为空,或者是什么类型的. 不同点: typeof的定义和用法: 返回值是一个字符串,用来说明变量的数据类型. 细 ...

  5. 使用git将本地java项目上传到GitHub

    使用git将项目上传到github(最简单方法) 声明:本人是根据上文给的链接的方式,上传到github上的,亲测有效. 首先你需要一个github账号,所有还没有的话先去注册吧! https://g ...

  6. linux搭建TFTP服务

    1.安装tftp服务和客户端 sudo apt-get install xinetd tftp tftpd 2.配置 vim /etc/xinetd.d/tftp 内容如下: service tftp ...

  7. Beta版本演示

    小组信息 组名:斗地组 组长博客:地址 组内成员: 组员 学号 林涛(组长) 031702616 童圣滔 031702117 林红莲 031702213 潘雨佳 031702214 覃鸿浩 03170 ...

  8. IT兄弟连 HTML5教程 CSS3属性特效 新增颜色模式

    对于设计人员和开发人员来说,CSS一直是web设计过程中重要的一部分.网页外观主要由CSS控制,编写CSS代码可以任意改变我们的网页布局以及网页内容的样式.随着CSS3的出现以及越来越多的浏览器对它的 ...

  9. 3.Python常用逻辑运算符

    #header { /* Initially hidden to prevent FLOUC */ display: none; background-color: #fff; /* Display ...

  10. Redis缓存NoSQL

    下面是一些关于Redis比较好的文章,因为篇幅较大,我就将其折叠起来了.不太喜欢分不同的笔记去记载,除非真的很多很多.所以本文不仅要对Redis做简单的介绍,还要分别介绍Redis中的五种结构,并会贴 ...