草庐IT

动态编译

全部标签

javascript - 如何在编译时在 javascript 全局命名空间中定义一个 clojurescript 函数?

我正在寻找一种在编译时在Javascript全局命名空间中定义Clojurescript函数的方法。我所说的编译时是指我希望Clojurescript编译器输出:functionsome_fn(){}。我知道这不是惯用的,一切都应该驻留在命名空间中,但我所处的环境迫使我这样做。因此,理想情况下,类似于(defn^:globalsome-fn[])的工作方式类似于:export的工作方式,但忽略了namespace。我知道使用goog.global定义全局函数的运行时方法,例如(set!goog.global.someFunctionsome-clojure-fn)但这在我的环境中不起作

javascript - Three.js动态改变光照强度

有没有一种我没见过的方法可以动态改变方向灯的光强度?甚至环境光?ambientLight=newTHREE.AmbientLight(0xffffff);scene.add(ambientLight);directionalLightL=newTHREE.DirectionalLight(0xffffff,dLight,0);directionalLightL.position.set(dlpX,dlpY,dlpZ);scene.add(directionalLightL);所以最初是为了渲染而完成的,但是我怎样才能在之后只改变一个特定的灯光强度呢?删除/重新添加灯?在dom中找到它并

javascript - 如何禁用 V8 的优化编译器

我正在编写一个恒定时间的字符串比较函数(用于node.js),并且想为这个单一函数禁用V8的优化编译器;使用命令行标志是不可能的。我知道使用with{}(或try/catch)block将禁用优化编译器现在,但我担心这个“功能”(bug)将在未来的版本中修复。是否有一种不可变的(并记录在案的)方法来禁用V8的优化编译器?示例函数:functionconstantTimeStringCompare(a,b){//Byaddinga`with`blockhere,wedisablev8'soptimizingcompiler.//UsingObject.create(null)ensure

javascript - Angular 2 - 如何将 id 属性设置为动态加载的组件

我正在使用DynamicComponentLoader加载子组件,它会生成以下html:Childcontenthere这是我在父组件中加载组件的方式ngAfterViewInit(){this._loader.loadIntoLocation(ChildComponent,this._elementRef,'child');}如何将id属性添加到子组件,以便它生成以下html:Childcontenthere 最佳答案 如果可能的话,我会向ChildComponent添加一个字段并将id绑定(bind)到它:@Component(

javascript - 在不转换异步函数的情况下编译 typescript

有没有办法只使用TypeScript编译器来删除类型注释,而不是转译异步函数?像{target:'esInfinite'}选项之类的东西?原因是:有些浏览器已经支持异步功能,所以我希望有一个不影响这些功能的构建目标。示例输入:asyncfunctionfoo(a:number):Promise{}示例输出:asyncfunctionfoo(a){} 最佳答案 在您的tsconfig.json中,将您的目标更改为ES2017,然后它将保留async/await。{"compilerOptions":{....."target":"ES

javascript - 为什么 CoffeeScript 会这样编译一个 for 循环?

这段CoffeeScript:foriin[1..10]console.logi编译为:for(i=_i=1;_i我不明白为什么它不直接使用i。有什么想法吗? 最佳答案 我对CoffeeScript不是很熟悉,但我猜这是为了防止在循环中修改i变量。例如:foriin[1..10]console.logii=7可能产生了这段代码for(i=1;i这显然会产生一个无限循环。然而,CoffeeScript的版本意味着会发生这种情况:for(i=_i=1;_i由于_i的存在,循环不再是无限的,以跟踪循环中的位置。

javascript - _googWcmGet 回调无法通过具有动态电话号码的 GTM 工作

我正在尝试使用GTM在我的网站上运行Adwords调用转换跟踪。一切都在Adwords端设置(附加电话信息+来自网站转换的电话),但替换功能仍然无法正常工作。//thecodefromadwords,loadsthe_googWcmGetfunction(function(a,e,c,f,g,b,d){varh={ak:"XXXXXXX",cl:"XXXXXXXX"};a[c]=a[c]||function(){(a[c].q=a[c].q||[]).push(arguments)};a[f]||(a[f]=h.ak);b=e.createElement(g);b.async=1;b.

javascript - IE 不允许动态创建的 DOM 'a' 元素上的 onClick 事件

我在使用InternetExplorer时遇到问题。我有一个链接,它复制了表单上的文件上传元素。重复的代码还会将超链接附加到重复的上传元素,该元素应该删除重复的元素,只需简单地删除此链接即可。问题是这段代码在firefox中运行良好,但在IE中根本无法运行。忘记代码是如何写出来的——我附加到元素的onClick事件根本没有触发!我正在函数中像这样创建删除链接元素:vara=document.createElement('a');a.setAttribute('href',"javascript:void(0);");a.setAttribute('class','delete');a.

javascript - 为什么 jQuery 的加载事件不会在动态插入的脚本元素上触发?

我正在使用jQuery动态插入脚本元素。脚本按预期加载,但加载事件未触发。jQuery('').attr({type:'text/javascript',src:'http://platform.twitter.com/widgets.js'}).appendTo('body').load(function(){/*Thisalertdoesnotfire:*/alert('Ijustloaded!');});如果我使用常规JavaScript插入元素,加载事件会触发并可以用jQuery捕获。vare=document.createElement('script');e.type='t

javascript - 从 AngularJS 获取已编译的 HTML

我在获取AngularJS中页面的已编译html时遇到问题。这是代码:JS:varapp=angular.module('main',[]);app.directive("compile",['$compile',function($compile){return{link:function(scope,elem,attr){varcompiledHTML=$compile(elem.contents())(scope);console.log(compiledHTML);varreturnString='';for(i=0;iHTML:{{3+4}}奇怪的是在第一个console.l