草庐IT

functions-for-testing-spatial-rel

全部标签

JavaScript - Function 核心对象的行为

据我了解,在JavaScript(Gecko变体)中:vara=newA();是这样的语法糖:vara={};a.__proto__=A.prototype;A.call(a);因此,A()(相当于A.call()?)和newA()应该产生两个不同的结果,如下所示:>>>newDate()FriNov19201001:44:22GMT+0100(CET){}>>>typeofnewDate()"object">>>Date()"FriNov19201001:44:42GMT+0100(CET)">>>typeofDate()"string"到目前为止一切顺利。但是,核心对象Functi

javascript - XMLHttpRequest : Browser support for sendAsBinary?

Firefox是唯一支持sendAsBinary方法的吗? 最佳答案 目前,我相信只有FF3+支持这个,尽管有一个workaround适用于Chrome。 关于javascript-XMLHttpRequest:BrowsersupportforsendAsBinary?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4236153/

javascript - d3 + 主干 : updating elements for which data has changed

我将d3与Backbone.js模型一起使用。当模型属性发生变化时,将触发一个事件,并用hasChanged()标志标记模型,并返回一个changedAttributes()散列。我了解如何使用d3的enter()和exit()来处理已创建或删除的模型。我无法弄清楚的是如何根据模型属性的变化修改相应的DOM元素。我可以使用Backbone助手来确定要修改的内容,但是d3的下一步是什么? 最佳答案 我在d3邮件列表上得到了一些有用的回复:http://groups.google.com/group/d3-js/browse_threa

javascript - 前后交替执行javascsript for循环

更新如下我正在尝试做的是以block为单位遍历数组,从一个block到另一个block交替迭代的方向。使困惑?我也是。例如,如果我想遍历一个包含25个元素的数组,但我想按以下顺序进行:0、1、2、3、4、9、8、7、6、5、10,11,12,13,14,19,18,17,16,15,20,21,22,23,24,最有效的方法是什么?我正在寻找可扩展的东西,因为我现在使用的数组实际上是225个元素,我想以15个元素block的形式遍历它,但这在某些时候可能会改变。到目前为止,我发现唯一可行的方法是将迭代顺序硬连接到第二个数组,然后以正常方式迭代它以获取原始数组的索引。但这很糟糕。任何帮助

javascript - 在 JavaScript 中 : Syntax difference between function & method definition within a class

Object类同时具有方法和函数,这意味着它们都可以通过Object.nameOfMethodOrFunction()访问。下面的问题Whatisthedifferencebetweenamethodandafunction解释了方法和函数之间的区别,但没有解释如何在对象中创建它们。例如,下面的代码定义了方法sayHi。但是如何在同一个对象中定义一个函数呢?varjohnDoe={fName:'John',lName:'Doe',sayHi:function(){return'HiThere';}}; 最佳答案 下面定义了两个类,C

javascript - 我们可以用 ES6 Generator 做哪些不能用 for 循环做的事情?

我了解了ES6的特性,Generators引起了我的注意。突然想到的一件事是链接Promise对象,这是我无法用循环实现的。我们还能做哪些以前做不到的其他机制?我知道这是一个宽泛的问题,但目前我仍然想不出除了Promises之外的任何东西。 最佳答案 通过使用yield,生成器可以在函数控制流中的任何点暂停,从而保存当前的执行状态(作用域和堆栈)。没有生成器,这就更复杂了:你需要明确地跟踪状态分支和(尤其是)循环控制结构需要以函数式方式表示,即递归编写。生成器通常可用于遍历数据结构,创建一个简单的类似流的迭代器,按顺序生成所有元素。

javascript - Function.prototype.bind 在 IE 中不起作用,即使在应该支持它的版本中也是如此

以下脚本在IE9、IE10、IE11中不起作用vara=location;varb='toString'varc=a[b].bind(a);c();//"InvalidcallingobjectinIE"有什么解决方法吗?编辑-链接问题中提供的MDN垫片不起作用!!它们适用于IE8!我对IE>8的问题是“支持”Function.bind。 最佳答案 InternetExplorer因允许您直接访问主机对象(如location和console)而臭名昭著,而无需像Chrome和Firefox那样在它们周围提供“Javascript包装

使用 `new Function()` 优化 Javascript

在阅读文档时,我发现了一个可以大大提高javascript性能的简单优化。原代码:functionparseRow(columns,parser){varrow={};for(vari=0;i优化代码:varcode='return{\n';columns.forEach(function(column){code+='"'+column.name+'":'+'parser.readColumnValue(),\n';});code+='};\n';varparseRow=newFunction('columns','parser',code);在这里找到:https://github

javascript - `Function` 创建的这些函数有什么区别?

1.varf=newFunction("a","b","returna+b")2.varf2=Function("a","b","returna+b")f和f2都是匿名函数。f(1,2)和f2(1,2)都返回3。那么两者之间有什么实际的内部差异吗?Function是否在内部返回一个函数对象?与使用Function作为构造函数newFunction(...)的区别? 最佳答案 来自ECMAScript5.1specs:WhenFunctioniscalledasafunctionratherthanasaconstructor,itc

javascript - 为什么这个简单的 for 循环没有按预期工作?

人们可能希望以下内容打印出a、b、c。vari,rowName;for(i=0;i相反,它打印出undefined、b、c。为什么?澄清一下:我知道如何完成这项工作;我很好奇的是为什么上面的方法不起作用。 最佳答案 它打印undefined的原因,b,c是因为如何forloop有效。for(initialization;condition;finalexpression)让我们分解您的for循环。初始化:i=0条件:i最终表达式:i++,rowName=['a','b','c'][i]第一次进入循环时,i设置为0.这是初始化步骤。然