After using node a lot, I had to get used to writing my code in a non-blocking way, however the main way I can do this is by using functions that are themselves asynchronous. For example: `stat(f,callback)` or `forEach(array, callback)` They automatically take whatever callback you gave them out of what I would think to be the main execution highway and return immediately after being called. 

What I want to know is: **how can I tell the ECMA engine to execute a function asynchronously nomatter what it is?** 

My Particular use case involves iterating a for-loop over a DOM childList to parse the thousands of elements; my problem is that every other element is a text node which I'd like to skip over. While I would use `forEach()` this was not best, I only see `for(a,i=0;a=table[i];i=i+2){/*process 'a'*/}` being able to rectify that, at the cost of being blocking. What would be the best course of action? 

**Bonus Question:** Does NodeJS's coding practices hold any ground in clientside applications in use cases where JS has to do heavy lifting?