From 92a0c80a4820689b14aaf1b7f0dda59de9417ac7 Mon Sep 17 00:00:00 2001 From: jez Date: Tue, 4 Jan 2011 16:59:50 +0800 Subject: Factor out invokeCommandString. Had to make 'this' point explicitly to 'window'. --- lib/utils.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/utils.js') diff --git a/lib/utils.js b/lib/utils.js index 4c05610c..7fc2a6b9 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -38,4 +38,17 @@ var utils = { } return result; }, + + /* + * Takes a dot-notation object string and call the function + * that it points to with the correct value for 'this'. + */ + invokeCommandString: function(str, argArray) { + var components = str.split('.'); + var obj = window; + for (var i = 0; i < components.length - 1; i++) + obj = obj[components[i]]; + var func = obj[components.pop()]; + return func.apply(obj, argArray); + }, }; -- cgit v1.2.3