JSFiddle - React, Tailwind, and code Playground

JavaScript

function tickStep(tickInMilliSeconds){
	        this.tickCount = 0; //just used as a counter
	        this.tickMax = 48; //highest number of ticks before it ends
	        this.monitorTextInputId = "";
	        this.paused = false;
	        this.tickMilliSeconds = tickInMilliSeconds;
	        this.tickRepeat = true; //when reaching the end start again at the beginning
	        this.eventArray = new Array();
	        this.setint; //the set time out variable      
	    }

	    tickStep.prototype = {
	    	constructor: tickStep,
	    	
	    	monitorTick:function(){
	    		console.log(this.tickCount);
	    	/*	if(this.monitorTextInputId.length>0){
	        		document.getElementById(this.monitorTextInputId).value = this.tickCount;
	        	}*/
	    	},

	    	tick:function(){
	    		if(!this.paused){	    			
	    			console.log("HERE: "+this.tickCount); // WHY IS THIS NaN ??? <---------------
			    	this.tickCount++;
		        	if(this.tickCount>this.tickMax && this.tickRepeat){
		                this.tickCount = 0;
		            }
			    	 console.log("tick: "+this.tickCount);
		            if(this.tickCount>this.tickMax && !this.tickRepeat){
		            	this.stop();
		            	return false;
		         	}
		         	this.monitorTick(); // <!----------------- WHY DOES THIS SAY IT IS NOT A FUNCTION?
		         	if(typeof this.eventArray[this.tickCount] !== "undefined"){
		         		if(this.isAFunction(this.eventArray[this.tickCount])){
		         			eval(this.eventArray[this.tickCount]);
		         		}
		         	}
			    }else{
			    	console.log("Paused...");
			    }
	    	},

	    	isAFunction:function(functionalCall){
	    		if(functionName.indexOf("(")){ //remove the brackety stuff
	        		functionName = functionName.substring( 0,functionName.indexOf("(") );	        		
	        	}
	        	console.log("Testing for function: "+functionName);
	        	return typeof(functionName) === typeOf(Function);
	    	},

	   ...