JSFiddle - React, Tailwind, and code Playground
by eigenjoy
JavaScript
var stringToEval = "console.log(this)";
console.log("1");
eval.call({}, stringToEval);
console.log("2");
eval.apply(null, [stringToEval]);
console.log("3");
(function(str){ eval(str); }).call({not: "empty"}, stringToEval);
console.log("4");
(function(str){ eval(str); }).apply({not: "empty"}, [stringToEval]);
console.log("5");
function bar() {
eval.apply(null, [stringToEval]);
}
bar();
console.log("6");
function baz() {
eval.apply(this, [stringToEval]);
}
baz();
console.log("7");
var bam = function() {
eval.apply(null, [stringToEval]);
}
bam();
console.log("8");
var bang = function() {
eval.apply(this, [stringToEval]);
}
bang();
console.log("9");
var bob = {};
bob.foo = 2;
console.log(eval.apply(bob, ["foo"]));