jjzjj

module_eval

全部标签

javascript - eval 和 setTimeout 执行字符串代码的区别

我知道eval和setTimeout都可以接受字符串作为(1st)参数,而且我知道我最好不要使用它。我只是好奇为什么会有区别:!function(){varfoo=123;eval("alert(foo)");}();!function(){varfoo=123;setTimeout("alert(foo)",0);}();第一个可以,第二个会报错:fooisnotdefined他们是如何在幕后执行的? 最佳答案 参见referenceofsetTimeoutonMDN.Stringliteralsareevaluatedinthe

javascript - JSON.parse() 在内部使用 eval() 吗?

这个问题在这里已经有了答案:WhatisJSON.parsewrittenin/Isitopensource?(4个答案)关闭9年前。现代浏览器中的JSON.parse是否在内部使用eval()来评估和执行动态代码?因为我一直在查看DouglasCrockford的JSON库。它还在使用parse()时使用eval(),但在实际评估之前进行了预处理。如:-防止代码中出现Unicode字符。代码显示恶意。支持JSON.parse的现代浏览器是本地执行此操作还是遵循其他协议(protocol)?

javascript - 如何在没有 eval 的情况下用 javascript 编写计算器

所以,我到处搜索,但找不到这个问题的答案。我已经尝试了大约三次,并通过基本上将输入作为字符串存储在数组中,解析数字,然后打开运算符来计算整数,从而得到了一个基本的,但我有一个真的很难弄清楚链接逻辑。有没有人有什么建议?甚至可能只是伪代码?我真的不想使用eval。非常感谢 最佳答案 对于只有5个运算符(^、*、/、+、-)且没有括号的简单计算器,您可以这样做。首先,将字符串转换为数字和运算符的数组很方便。然后,我们遍历数组,按优先顺序查找每个运算符,并将运算符应用于它前后的数字。functiontokenize(s){//---Par

Javascript eval 别名

javascript是否允许使用别名eval?以下代码的第一部分行为异常(显示1、1),但第二部分没有(显示1、2)。对ECMA脚本或mozilla文档的引用会有所帮助,但我找不到。(function(){eval('vartestVar=1');alert(testVar);vareval2=eval;eval2('vartestVar=2');alert(testVar);})();(function(){eval('vartestVar=1');alert(testVar);eval('vartestVar=2');alert(testVar);})();

javascript - NodeJS - 如何在自执行函数中将构造函数分配给 module.exports?

我正在尝试在NodeJS中的自执行函数中分配一个构造函数。我很确定它不起作用,因为我的参数是一个指向module.exports的变量,但我很好奇是否有办法让它工作,同时尽可能接近自执行格式。下面是代码的调用方式...varTemplateEngine=require('./templateEngine');templateEngine=newTemplateEngine({engine:'swig'});//"objectisnotafunction"这是一个运行良好的代码示例...varassert=require('assert');varswig=require('swig')

javascript - 文件结构 : Requiring Sub-Modules in Node. js

我有以下Node.js模块/npm包:|-dist/|--requirejs/|---[stuffinamdpattern...]|--node/|---index.js|---submodules/|----submodule1.js|----[submodule2.jsetc.]|-package.json|-README.md我可以通过模块名称要求dist/node/index.js(因为我将它设置为package.json中的主要入口点文件),如下所示:varmyModule=require('myModule');我想通过这样做来要求子模块(如在AMD模式中):varmySu

javascript - 使用 "Module Pattern"时 jQuery 单击事件不起作用

我是一名中级前端JS开发人员,我正在尝试ChrisCoyyer概述的模块模式here.但是当我在设置中存储一个jQuery选择器时,我无法使用它来触发点击事件。请参阅下面的代码和我的评论...非常感谢任何帮助!vars,TestWidget={settings:{testButton:$("#testing")},init:function(){s=this.settings;this.bindUIActions();},bindUIActions:function(){console.log(s.testButton);//Thisworks:[context:document,se

javascript - Module.export-ing 一个新实例

如果我像这样将对象附加到Node中的module.exports对象:module.exports=newObject()我的应用程序中的每个object=require('./Object')会创建该对象的一个​​新实例,还是会创建对一个实例的引用? 最佳答案 require()缓存它执行的文件。您第一次require('./Object')时,它将运行您的代码并将导出的对象放入require.cache。后续调用将立即返回缓存的对象。你可以自己从缓存中删除你的模块,或者使用getter,但这些都是坏主意。

javascript - 如何观察 react-native node_modules 的变化

当我运行react-nativestart或npmstart时,打包程序启动并提示LookingforJSfilesin/Users/map/repos/myrepo/我启用了热重载。当我更改位于/Users/map/repos/myrepo/node_modules/react-native/中的文件时,似乎检测到更改,但是如果我在第三方存储库中编辑文件,如/Users/map/repos/myrepo/node_modules/react-native-menu/看起来watchman没有检测到变化。我刚刚将项目中的ReactNative升级到0.39,我认为这不是以前的默认行为。

javascript - TypeError : __WEBPACK_IMPORTED_MODULE_0_react___default. a.createRef 不是函数

我是React.js的新手,刚才我正在学习React中ref的概念。他们在V16.3中有新的createRefAPI。我试图从REACTDOC's中学习这个像这样-importReactfrom"react";exportclassMyComponentextendsReact.Component{constructor(props){super(props);//createareftostorethetextInputDOMelementthis.textInput=React.createRef();this.focusTextInput=this.focusTextInput.