# 关键字

# this

安卓端this只会指向其所在的类的实例,而编译到js后this的值取决于它出现的上下文:函数、类或全局。参考: MDN this

以下述代码为例

<template>
  <view></view>
</template>
<script>
  export default {
    data() {
      return {
        title: '' 
      }
    },
    methods: {
      getTitle() {
        uni.request({
          url: 'xxx',
          success() {
            this.title = 'xxx'
          }
        })
      }
    }
  }
</script>

上述代码中的this在安卓端会指向页面/组件实例,在web端会指向uni.request的参数。为保证多端一致,建议在上面的场景使用this时搭配箭头函数。上述代码修改为下面的写法后即可兼容多端

<template>
  <view></view>
</template>
<script>
  export default {
    data() {
      return {
        title: '' 
      }
    },
    methods: {
      getTitle() {
        uni.request({
          url: 'xxx',
          success: () => {
            this.title = 'xxx'
          }
        })
      }
    }
  }
</script>

# 关键字列表

  • as
    • 用于类型转换。
    • 为导入指定一个别名
  • break
    • 中止当前循环,switch语句,并把程序控制流转到紧接着被中止语句后面的语句。
  • case
    • switch 搭配使用。
  • catch
    • try 搭配使用,捕获程序异常。
  • class
    • 声明创建一个新类。
  • const
    • 声明一个常量,不能重新赋值。
  • continue
    • 声明终止当前循环或标记循环的当前迭代中的语句执行,并在下一次迭代时继续执行循环。
  • debugger
    • 调用任何可用的调试功能,例如设置断点。 如果没有调试功能可用,则此语句不起作用。
  • default
    • switch 搭配,匹配不存在时做的事情,也可以用于 export 语句。
  • delete
    • 用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。(目前仅支持 Javascript 平台)
  • do
    • 创建一个执行指定语句的循环,直到condition值为 false。在执行statement 后检测condition,所以指定的statement至少执行一次。
  • else
    • if 搭配使用。
  • export
    • 用于模块导出。
  • extends
    • 用于 class 继承。
  • finally
    • try-catch 搭配使用。
  • for
    • 创建一个循环,它包含了三个可选的表达式,这三个表达式被包围在圆括号之中,使用分号分隔,后跟一个用于在循环中执行的语句(通常是一个块语句)。
  • function
    • 声明定义一个具有指定参数的函数。
  • if
    • 当指定条件为真,if 语句会执行一段语句。如果条件为假,则执行另一段语句。
  • import
    • 用于导入由另一个模块导出的绑定。
  • in
    • 可在 for 循环中迭代对象。
  • instanceof
    • 检测一个值具有指定类型。
  • new
    • 创建一个 class 实例。
  • return
    • 终止函数的执行,并返回一个指定的值给函数调用者。
  • super
    • 用于访问和调用一个对象的父对象上的函数。
  • switch
    • 评估一个表达式,将表达式的值与case子句匹配,并执行与该情况相关联的语句。
  • this
    • 引用当前接收者。
  • throw
    • 抛出一个异常。
  • try
    • catch 搭配使用,捕获一个异常。
  • typeof
    • 返回一个字符串,表示未经计算的操作数的类型。
  • var
    • 声明一个变量,不建议使用。
  • void
    • 表示函数没有返回结果。
  • while
    • 在某个条件表达式为真的前提下,循环执行指定的一段代码,直到那个表达式不为真时结束循环。
  • with
    • 扩展一个语句的作用域链。(目前仅支持 Javascript 平台)
  • yield
    • 用来暂停和恢复一个生成器函数。(目前仅支持 Javascript 平台)
  • enum
  • implements
  • interface
  • let
  • package
  • private
  • protected
  • public
  • static
  • await
  • abstract
  • boolean
  • byte
  • char
  • double
  • final
  • float
  • goto
  • int
  • long
  • native
  • short
  • synchronized
  • transient
  • volatile