关于程序员:JavaScript作用域事件this关键字严格模式错误类型

39次阅读

共计 1461 个字符,预计需要花费 4 分钟才能阅读完成。

如有帮忙请点赞、珍藏 + 关注,更多技术材料获取请点击

Gitee

作用域

在 JavaScript 中, 作用域为可拜访变量,对象,函数的汇合。别离有全局作用域、函数作用域和块级作用域,函数作用域和块级作用域又统称为部分作用域。

  • 全局作用域,能够了解为网页的全副范畴
  • 部分作用域

    • 函数作用域,函数外部,所以不同的函数内能够申明雷同的变量
    • 块级作用域,if…else、for、forEach、while…

事件

HTML 事件是产生在 HTML 元素上的,JavaScript 能够触发这些事件。事件能够是浏览器行为,也能够是用户行为。

常见的 HTML 事件

  1. onchange:HTML 元素扭转
  2. onclick:用户点击 HTML 元素
  3. onmouseover:鼠标指针挪动到指定的元素上时产生
  4. onmouseout:用户从一个 HTML 元素上移开鼠标时产生
  5. nkeydown:用户按下键盘按键
  6. onload:浏览器已实现页面的加载

事件能够用于解决表单验证,用户输出,用户行为及浏览器动作:

  1. 页面加载时触发事件
  2. 页面敞开时触发事件
  3. 用户点击按钮执行动作
  4. 验证用户输出内容的合法性

this 关键字

面向对象语言中 this 示意以后对象的一个援用。但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的扭转而扭转。

  1. 在办法中,this 示意该办法所属的对象
  2. 如果独自应用,this 示意全局对象
  3. 在函数中,this 示意全局对象
  4. 在函数中,在严格模式下,this 是未定义的 (undefined)
  5. 在事件中,this 示意接管事件的元素
  6. 相似 call() 和 apply() 办法能够将 this 援用到任何对象

变量晋升和严格模式

变量晋升

  1. 函数及变量的申明都将被晋升到函数的最顶部
  2. 变量能够在应用后申明,即变量能够先应用再申明
  3. 只有申明的变量会晋升,初始化的不会

严格模式

严格模式(strict mode)即在严格的条件下运行。”use strict” 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增。它不是一条语句,然而是一个字面量表达式,在 JavaScript 旧版本中会被疏忽。

  • 为什么应用严格模式?
  1. 打消 Javascript 语法的一些不合理、不谨严之处,缩小一些怪异行为
  2. 打消代码运行的不平安之处,保障代码运行的平安
  3. 进步编译器效率,减少运行速度
  4. 为将来新版本的 Javascript 做好铺垫
  • 严格模式的限度
  1. 不容许应用未声明的变量
  2. 不容许删除变量或对象
  3. 不容许删除函数
  4. 不容许变量重名
  5. 不容许应用八进制
  6. 不容许应用转义字符
  7. 不容许对只读属性赋值
  8. 不容许对一个应用 getter 办法读取的属性进行赋值
  9. 不容许删除一个不容许删除的属性
  10. 变量名不能应用 “eval” 字符串
  11. 变量名不能应用 “arguments” 字符串
  12. 因为一些平安起因,在作用域 eval() 创立的变量不能被调用
  13. 禁止 this 关键字指向全局对象
  • 严格模式新增了一些保留关键字

    • implements
    • interface
    • let
    • package
    • private
    • protected
    • public
    • static
    • yield

谬误类型

引擎执行 JavaScript 代码时,会产生各种谬误。可能是语法错误,通常是程序员造成的编码谬误或错别字。可能是拼写错误或语言中短少的性能(可能因为浏览器差别)。可能是因为来自服务器或用户的谬误输入而导致的谬误。当然,也可能是因为许多其余不可预知的因素。

  • ReferenceError
  • SyntaxError
  • TypeError

捕捉语句

try {... // 异样的抛出} catch(e) {... // 异样的捕捉与解决} finally {... // 完结解决}

本文由 mdnice 多平台公布

正文完
 0