具有Coffee Script功能

时间:2014-10-16 10:43:42

标签: coffeescript

咖啡脚本可以使用以下代码吗?

With pex
  .simpleObject = {}
  .explicitFunction = ()->
     alert "Hello world!"
  .CONSTANTPI = 3.16
Endwith

请忽略with内的内容。我只是在咖啡脚本中提到如何做到这一点?而不是重复输入单词pex.

2 个答案:

答案 0 :(得分:3)

由于不应使用JavaScript的with语句,最好使用嵌套函数和this访问器来实现它:

_with = (object, block) -> block.call object

_with pex, ->
  @simpleObject = {}
  @explicitFunction = ()->
    alert "Hello world!"
  @CONSTANTPI = 3.16

答案 1 :(得分:0)

你可以编写一个小帮助函数,因为你的目标似乎是为一个对象分配属性,这个就足够了:

addprops = (obj, addthis) ->
  for own key,value of addthis
    obj[key] = value

pex = {}

addprops pex,
  simpleObject:     {}
  explicitFunction: ()->
    alert "Hello world!"
  CONSTANTPI:       3.16

console.log pex

###
OUTPUT:
{ simpleObject: {},
  explicitFunction: [Function],
  CONSTANTPI: 3.16 }
###

您还可以查看其中一个mixin libraries