Re:“var functionName” vs “function functionName”
by wakaflaka on Wednesday April 30, 2014 @07:20AM
(#7672599)
You are just asking for race condition issues with that type of "solution."
[ Parent
| on HN ]
Re:“var functionName” vs “function functionName”
by Jare on Wednesday April 30, 2014 @08:12AM
(#7672760)
Are you referring to a case like this?
{
f();
var a = 3;
function f() {
console.log(a);
}
}
That will print "undefined" because the entire function f() is hoisted and callable in the first line, but the variable a has not yet been assigned the value. That's not a race condition (those are related to timing in concurrent systems) but is certainly the sort of counter-intuitive visibility that makes me prefer to use function expressions most of the time.
Re:“var functionName” vs “function functionName”
by andrey-p on Wednesday April 30, 2014 @08:12AM
(#7672759)
You can still pass in callbacks to them. So if I got the parent's intent right, you've got:
function bunchOfAsyncThings(callback) {
var function1, function2;
function1 = function (callback) {
// do stuff here, then do callback
function2(callback);
};
function 2 = function (callback) {
// done with everything
callback();
};
function1(callback);
}
(Edit: formatting)