草庐IT

Object方法

全部标签

javascript - Mustache/jQuery/javascript - 如何对 mustache 变量执行方法?

我有一个简单的mustache模板设置,它采用一个对象player并创建一个列表元素。对mustache中的变量执行javascript方法的最佳方法是什么?下面是一些示例代码:varplayerTemplate='{{position}}{{first_name}}{{last_name}}';varplayerRow=Mustache.to_html(playerTemplate,player);$('ul#players-list').append(playerRow);我想做的是:{{position.toUpperCase()}}我宁愿不更改对象本身,因为我可能希望{{pos

javascript - 如何使 Javascript focus() 方法在输入文本框的 onBlur 事件中工作?

对我来说,如果我将Javascriptfocus()方法与按钮和onClick事件一起使用,它工作正常,但是对于文本框中的onBlur,它不起作用.任何人都可以指导我吗?functiondisplayResult(){varinp1=document.getElementById("text1").value;varinp2=inp1.length;if(inp2==0){alert("Field1cannotbeleftEmpty");//document.getElementById("text1").value="";document.getElementById("text1"

javascript - 防止从文本区域复制文本的所有方法的跨浏览器方法?

我正在开发一款在线打字软件。在打字软件中,一切顺利,但我遇到了不诚实的用户的问题,他们可能会将文本键入文本区域,复制它,然后重新加载页面(因此重置计时器)并直接粘贴它。因此,当javascript检测到按下ctrl/cmd按钮以及C键时,我正在考虑使用类似evt.preventDefault();的方法。但后来我意识到用户总是可以转到菜单栏以按Edit->Copy。所以我想知道,是否有跨浏览器的方法来禁用这两种复制方法? 最佳答案 您可以尝试使用以下jQuery代码:$('input[type=text],textarea').bi

javascript - 在Javascript中, 'Object.create'和 'new'的区别

我认为差异已经在我脑海中闪过,但我只是想确定一下。在DouglasCrockford页面上PrototypalInheritanceinJavaScript,他说Inaprototypalsystem,objectsinheritfromobjects.JavaScript,however,lacksanoperatorthatperformsthatoperation.Insteadithasanewoperator,suchthatnewf()producesanewobjectthatinheritsfromf.prototype.我不太明白他在那句话中想说什么,所以我进行了一些

javascript - Function、Array 和 Object 构造函数的 length 属性是什么?

函数、数组和对象构造函数的长度静态属性是什么?静态方法是有道理的,但是长度静态属性呢?Object.getOwnPropertyNames(Array)["length","name","arguments","caller","prototype","isArray"]Object.getOwnPropertyNames(Function)["length","name","arguments","caller","prototype"]注意:我得到的是Function.prototype的length属性的答案,这里没有问到。Object.getOwnPropertyNames(F

c# - JavaScript Object.create 和 IE8

我正在为SharePoint2013进行软件开发。其中一部分涉及覆盖SharePoint的文件预览器(filepreview.debug.js变为myfilepreview.debug.js)。然而,我们在使用IE8时遇到了问题。在IE9中一切正常。IE8中抛出的错误会导致您在激活我们的自定义功能的网站集中访问的任何网站出现错误:“对象不支持此属性或方法”在对该错误进行一些研究之后,似乎IE8根本不支持Object.create。ThisMozillaDeveloperpost似乎支持这个理论。当通过在抛出错误的行之前添加此polyfill代码解决问题时,我更加相信这一点:if(typ

javascript - Angular/RequireJS 应用程序配置文件的最佳方法?

是否有普遍接受的最佳实践来维护客户端可用的配置文件(类似于ASP.NET应用程序中服务器端的AppSettings部分)?我们的应用程序基于Angular。我们的愿望是从代码本身外部化特定于环境的设置(如远程系统URL等),这样理想情况下,运维人员而不是开发人员可以在一个地方修改设置。提前感谢您的任何见解! 最佳答案 我认为在开发AngularJS应用程序时使用config.js文件不是一个好主意。原因是,您将破坏自动测试的任何可能性。相反,我创建了一个“设置”服务,在其中我指定了我的应用特定上下文。例如:angular.modul

javascript - 如何在 javascript 中将方法添加到 Math

我需要javascript的Math对象中的一个方法来计算任何底数的对数。所以基本上我所做的是这样的:Math.log_b=function(b,x){returnMath.log(x)/Math.log(b);}像这样扩展内置函数的缺点是什么?为了使我的情况更清楚,我将获取用户输入并将其替换为适当的Math对象函数名称并将其传递给eval进行计算。如果不清楚,我的困境是,就我而言,我必须使用eval(即使它是邪恶的)并且扩展Math对象函数最适合我的情况。当我像这样扩展内置函数时是否有可能出现一些奇怪的错误或其他错误,或者这是完全正常的事情吗? 最佳答案

javascript - 实现原型(prototype)方法

如果我在String上实现了一个方法x,例如:String.prototype.x=function(a){...}然后新版本的javascript实际上实现了x方法,但在另一种方式上,要么返回与我的实现不同的东西,要么返回比我的实现更多/更少参数的函数。这会破坏我的实现并覆盖它吗? 最佳答案 您将覆盖默认实现。任何使用它的代码都将使用您的代码。有人提议scopedextensionmethods它被拒绝了,因为在JS引擎中实现它的计算成本太高。有人讨论了解决该问题的新提案(协议(protocol))。ES6符号也将为您提供一种解决

javascript - Object.observe/unobserve 如何与垃圾回收交互?

对象上有一个活跃的Object.observe会阻止它被垃圾收集吗?你需要先调用Object.unobserve让它被垃圾回收吗?还是对对象进行GC会移除其所有活跃的观察者? 最佳答案 观察一个对象并不能使它保持活力。一旦对象死亡,它的观察者就不会再收到任何事件。至少在V8的实现中是这样,这是迄今为止唯一的一个。如果有一天此功能成为标准,可以安全地假设它也适用于其他实现。但是,观察会使其事件的观察者保持事件状态,以及与每个观察者函数关联的一些内部堆分配数据结构。事实上,只有当函数本身也死亡时,这些额外的数据才会死亡,即使它早已停止观