咖啡脚本可以使用以下代码吗?
With pex
.simpleObject = {}
.explicitFunction = ()->
alert "Hello world!"
.CONSTANTPI = 3.16
Endwith
请忽略with
内的内容。我只是在咖啡脚本中提到如何做到这一点?而不是重复输入单词pex.
答案 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。