在Coffeescription中使用一个自调用函数来隐藏其余代码中的函数和变量,这是一个好主意吗
Is it a good idea to use a self-invoking function in Coffeescript to hide functions and variables from the rest of the code?
使用自调用函数来隐藏这样的函数和变量是个好主意吗?
有更好的方法吗?
它是否比在同一级别上声明函数和变量慢?
validator = require 'json-schema'
actionA = do ->
schema =
type : 'object'
properties:
param1 : { type : 'string', required : true }
param2 : { type : 'string', required : true }
encode = (results) -> JSON.parse(results)
(params, callback) ->
res = validator.validate params, schema
value = if res.valid then encode(params) else false
callback value
actionB = do ->
schema =
type : 'object'
properties:
param1 : { type : 'integer', required : true }
param2 : { type : 'integer', optional : true }
encode = (results) -> JSON.stringify(results)
(params, callback) ->
res = validator.validate params, schema
value = if res.valid then encode(params) else false
callback value
谢谢你的帮助。
是的,我相信这很好。事实上,当您在CoffeeScript 中创建"类"时
class Test
constructor: ->
@foo = 'bar'
它编译为:
var Test;
Test = (function() {
function Test() {
this.foo = 'bar';
}
return Test;
})();
它主要做与您发布的代码相同的事情。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 我可以在json对象中添加一个函数吗
- Javascript使函数一个接一个地执行
- 是JavaScript中的函数一个对象
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 两个Javascript函数一个window.onload=Custom.init;和一个window.onload=f
- 使javascript加载函数一个接一个地执行
- 如何通过两个嵌套的匿名函数(一个带有超时的事件处理程序)传递变量
- 为什么我不能让两个jQuery函数一个在另一个里面呢?
- 给函数一个变量名,而不是它的值
- 如何使用嵌入函数(一个滚动页由Pete - peachananr)
- 是否有可能给JavaScript函数一个类型/类?
- 确保两个函数一个接一个地执行,其中第一个函数内部有一个异步调用
- 两个不同的ajax函数一个接一个调用返回相同的值
- jQuery第一次更改函数一个工作
- 给这个函数一个id
- 如何给回调函数一个值一个变量在特定时刻
- 使用回调使两个函数一个接一个地运行
- 两个函数(一个用php)是否可以用“;onclick”;
- 两个几乎相同的函数.一个函数用Queue进行排队.Jquery效果在queued函数上不起作用.为什么