博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript中的面向对象和定时器, BOM
阅读量:5058 次
发布时间:2019-06-12

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

一、JS中的面向对象

创建对象的几种常用方式

  1.使用Object或对象字面量创建对象

  2.工厂模式创建对象

  3.构造函数模式创建对象

  4.原型模式创建对象

1.使用Object或对象字面量创建对象

js中最基本创建对象的方式

var student = new Object();student.name = "easy";student.age = "20";

一个student对象就创建完毕,拥有2个属性name以及age,分别赋值为"easy"20

对象字面量方式创建对象

ar sutdent = {  name : "easy",  age : 20};

2.工厂模式创建对象

js中没有类。可以使用一种函数将对象创建过程封装起来以便于重复调用,同时可以给出特定接口来初始化对象

function createStudent(name, age) {  var obj = new Object();  obj.name = name;  obj.age = age;  return obj;}var student1 = createStudent("easy1", 20);var student2 = createStudent("easy2", 20);...var studentn = createStudent("easyn", 20);

对象的createFruit()函数:

function createFruit(name, color) {  var obj = new Object();  obj.name = name;  obj.color = color;  return obj;}var v1 = createStudent("easy1", 20);var v2 = createFruit("apple", "green");
    
Document
创建方式

3.构造函数模式创建对象

构造函数:

var obj = new Object();

 创建原生数组Array类型对象时用过构造函数

var arr = new Array(10);  //构造一个初始长度为10的数组对象

构造函数和普通函数的区别: 

  1.调用方法 :  使用new操作符调用,那么它就是构造函数;不使用new操作符调用,那么它就是普通函数。

  2.构造函数名以大写字母开头,普通函数以小写字母开头

  3.使用new操作符调用构造函数时,会经历(1)创建一个新对象;(2)将构造函数作用域赋给新对象(使this指向该新对象);(3)执行构造函数代码;(4)返回新对象;4个阶段。

    
Document

用instanceof操作符来检测以上对象类型就可以区分出Student以及Fruit了:

alert(v1 instanceof Student);  //truealert(v2 instanceof Student);  //falsealert(v1 instanceof Fruit);  //falsealert(v2 instanceof Fruit);  //truealert(v1 instanceof Object);  //true 任何对象均继承自Objectalert(v2 instanceof Object);  //true 任何对象均继承自Object

将对象方法移到构造函数外部:

function Student(name, age) {  this.name = name;  this.age = age;  this.alertName = alertName;}function alertName() {  alert(this.name);}var stu1 = new Student("easy1", 20);var stu2 = new Student("easy2", 20);

4.原型模创建对象

    

二、定时器

在js中的定时器分为两种: 1.setTimeOut( )    2.setInterval( )

1.setTimeOuo()

只在指定时间后执行一次

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

2.setInterval()

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

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

如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval.

每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout

    
Document
定时器

三、BOM

BOM:Browser Object Model,浏览器对象模型。

BOM的结构图:

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

DOM是BOM的一部分。

window对象:

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

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

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

1.弹出系统对话框

  alert(1)window.alert(1)的简写,因为它是window的子方法。

2.打开窗口, 关闭窗口

  打开窗口:

window.open(url,target)

  url :  要打开的地址.

  target : 新窗口的位置.可以是 : _blank  ,  _self  ,  _parent父框架.

            

3.location对象

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

  a.location对象的属性

    href : 跳转

    hash : 返回url中后面的内容 , 包括#

    host : 主机名 , 包括端口

    hostname : 主机名

    pathname : url 中的路径部分

    protocol : 协议 一般是http、https

    search : 查询字符串

例子; 点击盒子时 , 进行跳转

smyhvae

  5秒后自动跳转到百度

b. location对象的方法

  location.reload():重新加载

setTimeout(function(){         //3秒之后让网页整个刷新    window.location.reload();                        },3000)

4.navigator对象

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

  • userAgent:系统,浏览器)

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

console.log(navigator.userAgent);    console.log(navigator.platform);

5.history对象

1、后退:

  • history.back()

  • history.go(-1):0是刷新

2、前进:

  • history.forward()

  • history.go(1)

    
Title
后退 text

 

转载于:https://www.cnblogs.com/chenxi67/p/9713881.html

你可能感兴趣的文章
了解数据库技术
查看>>
任务八:响应式网格(栅格化)布局
查看>>
Msysgit中文乱码解决方法
查看>>
jquery总结
查看>>
python添加pip本地源
查看>>
python
查看>>
git tag推送小分析
查看>>
数论及其应用——素数问题
查看>>
MTK Socket学习——HTTP请求
查看>>
svn .externals 属性
查看>>
Java复制文件
查看>>
Swift 4 经典数据结构 Data Struct大全
查看>>
sql语句大全(db2、oracle、mysql、sql server)
查看>>
Robot Framework环境搭建步骤
查看>>
AttributeError: module 'pip' has no attribute 'main'
查看>>
python3.X中简单错误处理,和Python2区别
查看>>
防止你的iPhone程序遭盗版(入门篇)
查看>>
cocos2d查看OpenGL当前所绑定的纹理
查看>>
详解用em替换px
查看>>
win10家庭版启用远程桌面
查看>>