浅述Javascript的外部对象


Posted in Javascript onDecember 07, 2016

浅述Javascript的外部对象

Window 浏览器:

- location:地址
- history:历史
- Document:文档
- screen:窗口
- navigator:帮助

> 1.外部对象就是浏览器提供的API -- **BOM**

> 2.这些对象由w3c规定,由浏览器开发者设计并开发

> 3.这些对象分为2部分,其中BOM包含了DOM

> 4.我们可以通过js访问这些对象

# 外部对象

> BOM (Browser Object Model)

    浏览器对象模型,用来访问和操纵浏览器窗口,是JavaScript有能力与浏览器对话。

> DOM (Document Object Model)

    文档对象模型,用来操作文档。

##1.对话框

- alert(str)
    - 提示对话框,显示str字符串的内容

- confirm(str)
    - 确认对话框,显示str字符串的内容
    - 按"确定"按钮返回true,其他操作返回false

>案例

//调用window对象的属性或方法,可以省略"window."
 //1.弹出框
  //1)弹出框
  function f1(){
   alert("你好,小俊子");
  }
  //2)确认框
  function f2(){
   var v = confirm("你吃了吗?");
   //点击确定返回true,否则返回false
   console.log(v);
  }
  //3)输入框
  function f3(){
   var p = prompt("你吃的什么?");
   //点击取消返回null
   console.log(p);
  }

## 2. 定时器

- 多用于网页动态时钟,制作倒计时,跑马灯效果

- 周期性时钟

    - 以一定的间隔执行代码,循环往复

    - setInterval(exp,time);

    - 返回已经启动的定时器对象

- 停止启动的定时器

    - clearInterval(tID)

    - tID:启动的定时器对象

- 一次性时钟

    - 在一个设定的时间间隔之后来执行代码,而不是在函数被调用后执行

 - setTimeout(exp,time);

- 停止启动的定时器

    - clearTimeout(tID)   

- tID:启动的定时器对象

> 案例

1)周期性定时器

//每隔N毫秒执行一次函数,反复执行,直到达到停止条件位置。
  function f4(){
   var n = 5;
   //启动定时器,返回定时器的ID,用来停止定时器 
   var id = setInterval(function(){
    console.log(n); 
    switch(n%4){
     case 0: btn1();break;
     case 3: btn2();break;
     case 2: btn3();break;
     case 1: btn4();break; 
     default: ;
    }
    n++;
   },100);
   //启动定时器就相当于启动了一个支线程,当前方法f4相当于主线程。
   //2个线程并发执行,不互相等待,
   //因此主线程在启动完支线程后立刻向下执行,而支线程却需要在1秒后才执行
   console.log("蹦");
  }

2)一次性定时器

//推迟N毫秒执行一次函数,执行完之后,自动停止,
  //也可以在未执行前手动停止
 var id;
 function f5(){
  //启动定时器,若想在未执行定时器前就将它停止,需要使用id
  id = setTimeout(function(){
   console.log("叮叮叮");
   f4();
  },3000);
 }
 function f6(){
  //若定时器已经执行,则取消无效; 若定时器还未执行,则可以取消
  clearTimeout(id);
  console.log("已停止!");
 }

 ## 3. 常用属性

- screen 对象

    - 包含有关客户端显示屏幕的信息
    - 常用于获取屏幕的分辨率和色彩
    - 常用属性:
        - width height
        - availWidth availHeight

-  history对象

    -  包含用户访问过的URL

        -  length属性:浏览器历史列表中的URL数量

    - 方法:

        - back();
        - forwird();

- location对象

    - 包含有关当前URL的信息

        - 常用于获取和改变当前浏览的网址

    - href属性:当前窗口正在浏览的网址地址

    - 方法

        - reload():重新载入当前网址,相当于刷新   

  - navigator 对象

    - 包含有关浏览器的信息

        - 常用于获取客户端浏览器和操作系统的信息

> 案例

//Location对象
 function f1(){
  var b = confirm("你真的要离开我吗?");
  if(b){
   location.href = "http://www.tmooc.cn";
  } 
 }
 //刷新页面
 function f2(){
  location.reload();
 }
 //screen 对象: 获取屏幕宽高
 function f3(){
  console.log(screen.width);
  console.log(screen.height);
  console.log(screen.availWidth);
  console.log(screen.availHeight);
 }
 //history对象 
 function f4(){
  history.forward();
 }
 //navigator对象
 function f5(){
  console.log(navigator.userAgent);
 }

    ## DOM

### DOM操作

- 查找节点
- 读取节点信息
- 修改节点信息
- 创建节点信息
- 删除节点

### 读取、修改

- 节点信息

    - nodeName:节点名称
    - nodeType:节点类型

- (1) 读取节点

    - 读取节点的名称,类型 

<p id="p1">1.<b>读写</b>节点</p>
      <p id="p2">2.<b>查询</b>节点</p>
      <p id="p3">3.<b>增删</b>节点</p>
      var p1 = document.getElementById("p1");
      console.log(p1.nodeName);
      console.log(p1.nodeType);

    - 读写节点的内容

         - 双标签中间的文本叫内容,任何双标签都有内容
         - innerHTML:包括子标签信息
         - innerText:忽略子标签

console.log(p1.innerHTML);
        p1.innerHTML="1.<i>读写</i>节点";
        console.log(p1.innerText);

    - 读写节点的值

        - 表单控件中的数据叫值,只有如下表单控件才有值:
        - input
        - select
        - textarea

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
得到文本框选中的文字,动态插入文字的js代码
Mar 07 Javascript
解决jquery异步按一定的时间间隔刷新问题
Dec 10 Javascript
javascript显示用户停留时间的简单实例
Aug 05 Javascript
通过复制Table生成word和excel的javascript代码
Jan 20 Javascript
javascript如何使用bind指定接收者
May 04 Javascript
使用js获取图片原始尺寸
Dec 03 Javascript
jQuery插件uploadify实现ajax效果的图片上传
Jun 18 Javascript
JavaScript 数组的进化与性能分析
Sep 18 Javascript
react实现菜单权限控制的方法
Dec 11 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
Apr 12 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
Jan 27 jQuery
详解Vue3.0 + TypeScript + Vite初体验
Feb 22 Vue.js
vue2.0开发实践总结之疑难篇
Dec 07 #Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
Dec 06 #Javascript
JavaScript仿微博输入框效果(案例分析)
Dec 06 #Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
Dec 06 #Javascript
关于 jQuery Easyui异步加载tree的问题解析
Dec 06 #Javascript
JavaScript之Vue.js【入门基础】
Dec 06 #Javascript
浅析JavaScript中作用域和作用域链
Dec 06 #Javascript
You might like
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
php文件上传类完整实例
2016/05/14 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
bootstrap响应式工具使用详解
2017/11/29 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
2019/01/09 jQuery
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
python中wx模块的具体使用方法
2020/05/15 Python
python爬虫---requests库的用法详解
2020/09/28 Python
纯CSS3实现绘制各种图形实现代码详细整理
2012/12/26 HTML / CSS
Html5无刷新修改browser Url的方法
2014/01/15 HTML / CSS
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
地理教师岗位职责
2014/03/16 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
医学会议开幕词
2016/03/03 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL