Are there legitimate uses for JavaScript's “with” statement?

后端 未结 30 2175
伪装坚强ぢ
伪装坚强ぢ 2020-11-22 04:22

Alan Storm\'s comments in response to my answer regarding the with statement got me thinking. I\'ve seldom found a reason to use this particular language feature, and had ne

30条回答
  •  深忆病人
    2020-11-22 05:18

    You can use with to avoid having to explicitly manage arity when using require.js:

    var modules = requirejs.declare([{
        'App' : 'app/app'
    }]);
    
    require(modules.paths(), function() { with (modules.resolve(arguments)) {
        App.run();
    }});
    

    Implementation of requirejs.declare:

    requirejs.declare = function(dependencyPairs) {
        var pair;
        var dependencyKeys = [];
        var dependencyValues = [];
    
        for (var i=0, n=dependencyPairs.length; i

提交回复
热议问题