为了账号安全,请及时绑定邮箱和手机立即绑定

在JavaScript中使用小写“f”的`new function()`

在JavaScript中使用小写“f”的`new function()`

杨魅力 2019-08-16 14:10:59
在JavaScript中使用小写“f”的`new function()`我的同事一直在使用带有小写“f”的“new function()”来定义JavaScript中的新对象。它似乎在所有主流浏览器中运行良好,并且在隐藏私有变量方面似乎也相当有效。这是一个例子:    var someObj = new function () {         var inner = 'some value';         this.foo = 'blah';         this.get_inner = function () {             return inner;         };         this.set_inner = function (s) {             inner = s;         };     };一旦使用“this”,它就成为someObj的公共财产。所以someObj.foo,someObj.get_inner()和someObj.set_inner()都是公开的。另外,set_inner()和get_inner()是特权方法,因此它们可以通过闭包访问“内部”。但是,我在任何地方都没有看到任何对此技术的引用。甚至Douglas Crockford的JSLint抱怨它:怪异的建筑。删除'新'我们在生产中使用这种技术,它似乎运作良好,但我有点担心它,因为它没有在任何地方记录。有谁知道这是否是一种有效的技术?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 407 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信