• 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. 一文搞清楚Minor GC、Major GC 、Full GC 之间的关系

    前言 文章要求读者熟悉 JVM 内置的通用垃圾回收原则.堆内存划分为 Eden.Survivor 和 Tenured/Old 空间,代假设和其他不同的 GC 算法超出了本文讨论的范围. Minor G ...

  2. LeetCode 1290. 二进制链表转整数

    地址 https://www.acwing.com/solution/LeetCode/content/7132/ 题目描述给你一个单链表的引用结点 head.链表中每个结点的值不是 0 就是 1.已 ...

  3. doGet()方法和doPost()方法有什么区别?

    1. 一般上,get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.pos ...

  4. 新安装mariadb远程登陆配置及相关问题排查

    前言: 安装过程不再赘述,直接说问题,mysql的远程连接需要解决两个问题:1.允许root用户远程连接.2.允许任意ip远程连接数据库.当然,在测试和解决问题之前,得首先保证你的数据库与远程主机之间 ...

  5. 清晰架构(Clean Architecture)的Go微服务: 程序结构

    我使用Go和gRPC创建了一个微服务,并试图找出最佳的程序结构,它可以用作我未来程序的模板. 我有Java背景,并发现自己在Java和Go之间挣扎,它们之间的编程理念完全不同.我写了一系列关于在项目工 ...

  6. 《Java基础知识》Java断言

    断言:也就是所谓的assertion,是jdk1.4后加入的新功能. 它主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出. 当软件正 ...

  7. Java设计模式整理

    一.创建型模式 1.抽象工厂模式(AbstractFactory): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类. 案例:https://www.cnblogs.com/lfx ...

  8. VS2019 开发Django(八)------视图

    导航:VS2019开发Django系列 这几天学习了一下Django的视图和模板,从这几天的学习进度来看,视图这里并没有花很多的时间,相反的,模板花费了大量的时间,主要原因还是因为对Jquery操作d ...

  9. Dynamics 365中的Client API form context (formContext)

    适用于Dynamics 365 for Customer Engagement apps 9.x版本. 本文是一篇翻译,原文来源是微软官方文档. 本文链接:https://www.cnblogs.co ...

  10. mysql的MHA高可用

    一.MHA简介 作者简介 松信嘉範: MySQL/Linux专家 2001年索尼公司入职 2001年开始使用oracle 2004年开始使用MySQL 2006年9月-2010年8月MySQL从事顾问 ...