3月21日 笔记

面向对象编程中的 this

this 返回的是一个对象,简单的说就是返回属性或者方法当前所在的对象。

Web Storage

Storage接口用于在浏览器客户端中存储用户自定义的信息。

有几种存储形式:

  • LocalStorage:永久的存储在浏览器中,但是要注意,在不同的浏览器中间数据是不能共享的。
  • SessionStorage:当前页面会话基本的存储,当浏览器关闭或页面关闭时,数据就会丢失。
  • GlobalStorage:HTML5中被localStorage代替。

1.LocalStorage接口的方法

  1. localStorage.setItem(key,value):用于将key-value键值对的方式插入localStorage中。
  2. localStorage.getItem(key):读取key的localStorage字符串值。
  3. localStorage.removeItem(key):删除localStorage中key。
  4. localStorage.clear():清空localStorage所有key。
  5. 需要注意的是:在localStorage中只能存储字符串类型的数据。
  6. key():在指定的数字位置获取该位置的名字。

Error 对象

Javascript解析或者执行时,一旦发生错误,JavaScript引擎就会抛出一个错误对象。JavaScript原生的提供一个Error构造函数,所有抛出的错误都是这个构造函数的实例。

根据语言标准,Error对象示例必须具有message属性,表示错误出现时的提示信息。对于大部分的Javascript引擎,对Error对象还提供name和stock属性,分别表示错误的名称和错误的堆栈信息,他们是非标准的,不是每一个Error实例都要去实现。

try...catch语句

为了对错误进行处理,我们需要使用try...catch结构。
允许在try...catch块最后定义finally块,表示不管是否出现错误,都必须要在后面运行的语句。

在finally块中一般都是做一些清理的工作。

Javascript的原生错误类型

Error对象是最一般的错误类型,在其基础上,Javascript还定义了6中错误,也就是说存在6中派生的错误对象。

1. SyntaxError是解析代码时发生的错误。
2. ReferenceError 是引用一个不存在的变量发生的错误。

3. RangeError 是当一个值超出有效范围时发生的错误。

4.TypeError 是变量或者参数不是预期类型时发生的错误。比如字符串、数值、布尔等原始类型的值使用new命令,就是抛出该错误。

5.URIError是URI相关函数不正确时抛出的错误。

6.EvalError 是Eval函数没有正确执行时抛出的错误。


JavaScript 计时事件

通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:

  • setInterval() - 间隔指定的毫秒数不停地执行指定的代码。
  • setTimeout() - 暂停指定的毫秒数后执行指定的代码

1.setInterval() 方法

setInterval() 间隔指定的毫秒数不停地执行指定的代码。

window.setInterval("javascript function",milliseconds);

  • window.setInterval() 方法可以不使用window前缀,直接使用函数setInterval()。

  • setInterval() 第一个参数是函数(function)。

  • 第二个参数间隔的毫秒数

2.如何停止执行?

clearInterval() 方法用于停止setInterval()方法执行的函数代码。

3.setTimeout() 方法

  • setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。

  • setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。

  • 第二个参数指示从当前起多少毫秒后执行第一个参数。

4.如何停止执行?

clearTimeout() 方法用于停止执行setTimeout()方法的函数代码。

要使用clearTimeout() 方法, 你必须在创建超时方法中(setTimeout)使用全局变量。




猜你喜欢

转载自blog.csdn.net/wangjianxin1234/article/details/79644031