Я прочитал статью о различных способах пространства имен в JavaScript . Мне очень понравился внешний вид последнего, но JSLint считает иначе. Я знаю, что JSLint может быть слишком усердным, но есть ли способ заставить эту технику играть с ней хорошо?
var Something = {}; (function () { "use strict"; this.helloWorld = function () { var greeting = "Hello World!"; }; }.apply(Something));
Попробуйте вместо этого:
var Something = {}; (function (something) { "use strict"; something.helloWorld = function () { var greeting = "Hello World!"; }; }(Something));
Попробуйте использовать call вместо apply.apply определяется точно с двумя параметрами (где второй - массив аргументов), а call действительно требует только один параметр (пространство имен) и имеет список необязательных аргументов.
call
apply