How to use eval and new Function
Editor to share with you how to use eval and new Function, I believe that most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!
Code:
/ / friendly reminder: for the safety of your fingers, please run under Chrome
'alert ("hello") '.replace (/. + /, eval)
'alert ("hello")' .replace (/. + /, function (m) {new Function (m) ();})
Var I = 0; eval (new Array (101). Join ('alert (+ + I);')
Var I = 0; new Function (new Array 101.join ('alert (+ + I);')) ()
Explanation:
1. String.replace (regexp, replacement): replacement can be function. In this case, the function is invoked for each match, and the string it returns is used as the replacement text.
2. New Function (argument_names..., body): pay attention to the body. So, use new Function ('body') ()
You can also execute code dynamically like eval
3. Array.join (separator): this is the simplest, not much to say. Here, it is cleverly used to solve a boring problem: write a piece of code and run it to print integers from 1 to 100. Loops, jumps, and recursion are not allowed.
The above is all the contents of the article "how to use eval and new Function". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!