如何让js变量变成可执行

38 阅读1分钟

Date: 2020-09-06

function func() {
  var a = 1
  console.log('执行了..., 打印出:' + a)
}
func()

通常我们想处理一段逻辑时,需要使用函数/方法,那么如何使用字符串来执行一个方法呢???

可以巧妙的使用 Object.defineProperty() 方法

var a = false
Object.defineProperty(window, 'toggle', {
  get() {
    a = !a
    console.log('a:', a)
    return '🐶'
  }
})

// 执行奇数次
// a: true
// 🐶

// 执行偶数次
// a: false
// 🐶

这样就可以通过直接调用 toggle,来实现我们平常的 toggle()。在一些开发者调试工具中,开发人员通过向控制台输入变量达到切换开关的目的,这样比执行函数更叫方便、更加巧妙。