Function callFunction(function)
-
I created a simple website with Macromedia Dreamweaver 8 and just for the fun of it (oh well...) I looked through the code it generated. I was a bit surprised when I found the onClick property of my "Close window" button, and found this:
MM_callJS('window.close()');
instead of this:
window.close();
Ok, a bit unexpected, but sure there's gotta be a reason for it. Maybe some advanced error checking? I went through the code again, and found the function:
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}Version 2.0, you say? Wow! That makes it so much more useful! I guess they ran out of new feutures...
-
Version 1 was:
var MM_callJS = eval;
However, the topic is not THAT useless. In fteqcc, this code generates broken output:
(SomeFunction())(arg);
and this works:
void callFunction(void() func, float arg) { func(arg); }
callFunction(SomeFunction, arg);
-
But instead of:
callFunction(SomeFunction, arg);
can't you just write:
SomeFunction(arg);
?
-
Not necessarily, if the SomeFunction pointer-to-function is a variable that you get from somewhere else. (Or maybe there is some much simpler way to call a pointer-to-function's target - I dunno, I'm not a JS guy.)
-
DW still contains crap JS like that?
Dude.
-
@emurphy said:
Not necessarily, if the SomeFunction pointer-to-function is a variable that you get from somewhere else. (Or maybe there is some much simpler way to call a pointer-to-function's target - I dunno, I'm not a JS guy.)
Ok, now I get your point. For example, a user could enter a function name in a text input box and execute it. But still, applying it to "window.close()" is pretty damn stupid.
-
@emurphy said:
Not necessarily, if the SomeFunction pointer-to-function is a variable that you get from somewhere else. (Or maybe there is some much simpler way to call a pointer-to-function's target - I dunno, I'm not a JS guy.)
var x = function(){ alert("foo"); }; x();
-
var x = 'MM_callJS(x+x);';
MM_callJS(x);
//muhahaha...!