草庐IT

Math对象

全部标签

javascript - Arguments 对象是否泄漏?

假设我有这个草率模式函数,它(出于某种奇怪的原因)将其arguments对象返回给调用者:functionexample(a,b/*...*/){varc=//someprocessingreturnarguments;}存储调用结果(vard=example();)会阻止example的变量环境(包含a,b、c等)免于被垃圾回收?Argumentsobject的内部setter和getter可能仍然引用它,就像从闭包返回的函数一样。演示:functionexample(a,b){varc=Array(1000).fill(0);//somelargeobjectreturn{args

javascript - 展平使用 d3.js 嵌套创建的对象层次结构

我正在尝试以如下方式可视化团队协作数据:图表中的不同颜色表示不同的协作工件类型。来自源的数据如下所示:varjson=[{"teamLabel":"Team1","created_date":"2013-01-09","typeLabel":"Email""count":"5"},{"teamLabel":"Team1","created_date":"2013-01-10","typeLabel":"Email""count":"7"},/*andofcourse,alotmoredataofthiskind*/]请注意,数据是针对单日给出的。所以对于上面的可视化,我需要首先根据一年

javascript - 将 Jquery 选择器作为对象属性访问,出现意外结果

假设我有一个看起来像这样的div:somestuffinhere我有一个定义对象字面量的脚本:vartestObject={testDiv:$("#testDiv"),testDivProperty:this.testDiv};为什么当我访问testObject.testDiv时,我得到了一个jQuery对象的引用,即,[​…​​]但是当我访问testObject.testDivProperty时,我得到了对实际元素的引用,即,​…​​因此无法对testObject.testDivProperty执行jQuery操作? 最佳答案 试

javascript - IIFE 和窗口对象?

IIFE需要访问未覆盖的window对象-可以看作:类似于(jQuery示例):$(function(global){//dosomethingwithglobal})(window);但有时我也会看到这个(underscore.js):(function(){varglobal=this;//dosomethingwithglobal}).call(this);问题1:有什么不同吗?如果是这样,我应该什么时候使用它们?问题2:IIFE中的this是window。为什么需要“发送”window/call(this)?(jQuery没有使用严格模式恕我直言)注意看起来jQuery(从1.

javascript - 无效的调用对象 IE

在FF和Chrome中,我可以使用绑定(bind)将this值设置为位置对象,代码如下locationFacade={reload:location.reload.bind(location)}locationFacade.reload();或者我可以使用申请locationFacade={reload:function(){location.reload.apply(location,arguments);}}locationFacade.reload();但是在IE9中,我在调用locationFacade.reload();时一直收到“无效的调用对象”;我没有测试每个IE,但问题

javascript - 使用模块模式和实例化新对象之间的区别

我正在尝试重构一些javascript,但我对模块模式感到困惑。我现在的一种方法是简单地声明一个包含组件所有功能的类varFoo=function(){this.Bar={};...}并创建一个新实例以在组件中使用。但我也读过模块模式,我看不出与我所拥有的相比有什么好处,因为它似乎做的差不多,只是以更复杂的方式。也许我只是没有遇到让它成为更好选择的案例。例如,这样的模式:varmodule=(function(){//privatevariablesandfunctionsvarfoo='bar';//constructorvarmodule=function(){};//protot

javascript - 通过 AJAX 发送对象数组 - ASP.NET MVC

所以在JS中获取我需要的对象,我做了:$('.combine-payment-input').each(function(index,value){if(parseFloat(value.value)>0){if(methodOfPayment==-1){methodOfPayment=value.dataset.method;}else{methodOfPayment=0;}vmopl.push({id:value.dataset.method,name:$('label[for="'+value.id+'"]').html(),inUse:'True',ammount:value.

javascript - 简单对象 vs. 工厂 vs. 构造函数——实例

在JavaScript中创建对象的三种方式:通过简单的对象创建通过工厂功能通过构造函数简单的对象创建:varronaldo={name:"Ronaldo",age:"35",quote:"HiIamRonaldo",salary:function(x){returnx+2500;}};工厂函数:functionhuman(x,y,z,i){return{name:x,age:y,quote:z,salary:function(i){returni+2500;}}};varZini=human('Zenidan','41','IamZidane',7500);构造函数:varhuman=

javascript - 将 NodeJS 模块范围变量作为对象访问

我可以访问Node全局变量作为GLOBAL对象的属性。我可以用类似的方式访问模块作用域变量吗?例如varfns_x=function(){/*...*/};varfns_y=function(){/*...*/};functionaFn(param){/*moduleScope=somethingthatallowsmetoaccessmodulescopevariables*/if(moduleScope['fns_'+param]){moduleScope['fns_'+param]();}}/*...*/module.exports=/*...*/或者最好将那些变量包装在对象中?

javascript - 根据规则绑定(bind)到对象上任意深度的属性

(很抱歉,如果我的问题标题不是很好,我想不出更好的。欢迎提出更好的选择。)我正在尝试在Angular中创建一个可重用的“属性网格”,其中可以将对象绑定(bind)到网格,但通过某种方式可以自定义对象的呈现方式。这是指令模板的样子(form-element对我的问题不重要,所以我将其省略):并且,指令代码:angular.module("app.shared").directive('propertyGrid',['$log',function($log){return{restrict:'E',scope:{propertyObject:'=',propertyData:'&'}tem