这是因为在浏览器环境中,使用eval()函数执行的代码默认是在全局作用域下执行的,而不是在当前作用域下执行。因此,函数myFunc()定义在全局作用域中,而不是当前作用域中。

要在当前作用域中执行代码,可以使用其他方式,例如使用立即执行函数表达式(IIFE):

var abc = `(function() { 
   function myFunc() {
      alert("这是测试通知回调");
   }
   myFunc();
})();`;

eval(abc);

这样就可以在当前作用域中执行代码并弹出提示。

var abc = function myFunc alert这是测试通知回调;;evalabc;结果并没有弹出提示这是为什么?

原文地址: https://www.cveoy.top/t/topic/iyER 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录