JSFiddle - React, Tailwind, and code Playground

by s1owjke

JavaScript

function debounce(func, wait, immediate) {
    	var timeout;
    	return function() {
      console.log(this);
      this.abc = 123213;
    		var context = this, args = arguments;
    		var later = function() {
    			timeout = null;
    			if (!immediate) func.apply(context, args);
    		};
    		var callNow = immediate && !timeout;
    		clearTimeout(timeout);
    		timeout = setTimeout(later, wait);
    		if (callNow) func.apply(context, args);
    	};
    };
    
    debounce(alert, 50)();
    console.log(this.abc);