草庐IT

Object方法

全部标签

javascript - React props : Should I pass the object or its properties? 有多大区别?

在传递props时,我应该将整个对象传递给子组件,还是应该先在父组件中单独创建props,然后再将这些props传递给子组件?传递整个对象:首先单独创建需要的Prop:哪个是首选,如果它取决于,我应该使用什么作为衡量标准来使用其中一个? 最佳答案 根据theprincipleofleastprivilege,这是正确的方法:这会限制InnerComponent意外修改原始对象或访问不适合它的属性。或者,可以从原始对象中选取属性并将其作为Prop传递:如果有许多属性难以列出,可能只有一个prop接受一个对象:

javascript - 定位当前脚本的推荐方法?

我正在编写一个脚本,需要将DOM元素添加到页面,在脚本所在的位置(类似小部件的方法)。执行此操作的最佳方法是什么?以下是我正在考虑的技术:在脚本正上方包含一个id="Locator"的元素。问题:我不喜欢额外的标记如果我在页面中重复使用该小部件,多个元素将具有相同的“定位器”ID。我正在考虑在脚本中添加一行以删除使用过的id,但仍然...给脚本添加一个id。问题:虽然它看起来有效,但id属性对脚本元素无效同样的问题,如果我在页面中重复使用脚本,几个元素将具有相同的id。使用getElementsByTagName("script")并选择最后一个元素。到目前为止,这对我有用,它看起来有

javascript - 简单的 jQuery/javascript 方法来转义正则表达式字符串中的特殊字符

我正在使用match()方法对来自用户的字符串执行正则表达式,该字符串可能包含任何内容,包括$^等。因此我需要在发生这种情况之前转义这些字符。jQuery中是否有一个通用函数来执行此操作,一个众所周知的javascript函数,还是我必须手动执行此操作(我可能会错过一些东西?) 最佳答案 找到一个函数here:RegExp.escape=function(text){returntext.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");} 关于jav

javascript - 在 Rails 中实现每页 JavaScript 的好方法是什么?

在Ruby中尝试新事物-在每个页面上,我都在用jquery做非常丰富的事情。显然,如果我将所有jquery放入application.js,它会很快变得非常大。在最后延迟加载特定于页面的js文件是否是一种好方法?例如:$(document).ready(function(){$.getScript("/javascripts/this_pages_scripts.js");});有没有一种rails方式可以做到这一点?我知道new.js.erb等文件和ujs,但我仍在谈论更多特定于页面的js-你知道,拖放初始化器、对话框创建器等。非常感谢。 最佳答案

Javascript 拼写检查方法

嘿,我正在制作一个基于网络的字谜游戏来娱乐和练习。游戏向玩家呈现一个单词,玩家只需要用给定单词中包含的字母构造新单词即可。我遇到麻烦的地方是为了验证目的对提交的单词进行拼写检查。我最初认为这很简单,我的第一个解决方案是复制位于usr/share/dict的字典文件,并将提交的答案与该文件中的单词进行比较。然而,当处理一个词的不同形式时,这会失败。例如,字典中有“ask”这个词,但如果用户输入“asks”这个词,就会被认为是错误的。我知道我不能希望编写一个功能性的拼写检查算法(我也不想花时间尝试解决这个问题)我认为我可以使用内置拼写检查功能的浏览器。但是我搜索这个问题的答案并没有产生任何

javascript - 为什么 ECMAScript 标准中没有 Object.setPrototypeOf(...)?

显然使用__proto__属性仍然是操作原型(prototype)链的主要方式,尽管这不符合标准并且IE不支持它。虽然您也可以通过使用new构造函数构造继承,但与__proto__属性或符合标准的Object.getPrototypeOf函数相比,这似乎是一个不必要的复杂化.编辑:如答案中所述,此方法现在确实存在(ES6标准)。但是请注意性能警告:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf 最佳答案

javascript - 初始化大型二维数组的最简洁方法

您可能正在窃笑。我正在为我正在制作的基于Socket.IO的Angular色扮演游戏创建一张大map。这是愚蠢的吗?我知道我可以使用5行代码创建二维数组,但我需要数组中包含不同的数字。例如,0=允许步行到,1=不允许步行到。想象一下这些数字变化很大,0、1等等。如果有更好的方法请告诉我。也许是一种从文本文件或其他东西中读取的方法?varmap=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0

javascript - FireFox 34 中的 "DataCloneError: The object could not be cloned."

使用给定的函数发布消息,但出现错误“DataCloneError:无法克隆对象。”在行“target['postMessage'](message,target_url.replace(/([^:]+://[^/]+).*/,'$1'));”在FireFox-34中,相同的代码在Chrome和旧版本的FireFox上运行良好。varstorage=function(){return{postMessage:function(message,target_url,target){if(!target_url){return;}vartarget=target||parent;//defa

javascript - 使用 web3 ethereum 调用智能合约方法

尝试使用以太坊解决区block链问题时,我在尝试与已部署的合约交互时遇到了问题。我想要实现的是调用一种方法来显示添加到使用Geth本地部署的私有(private)区block链的信息。我无法从我的智能合约中调用任何函数,我一直在想我是否做错了什么……有人能告诉我如何实现对该合约中方法之一的简单调用吗?比方说显示现有机构,或用户所属的机构名称。我的契约(Contract):agency.solpragmasolidity^0.4.18;//WehavetospecifywhatversionofcompilerthiscodewillcompilewithcontractAgency{e

javascript - IE Date.parse 方法为 Date with Time 字符串返回 NaN

我们正在尝试用时间戳字符串解析日期,它在IE中爆炸但在FireFox中运行良好。代码如下警报(新日期(Date.parse("2010-01-31T12:00:00.233467-05:00")));有没有让它在IE浏览器中工作的想法?提前致谢。 最佳答案 如果您能以这种形式输入您的信息:YYYY/MM/DDThh:mm:ss它会起作用。例如:alert(newDate(Date.parse('2010-01-31T12:00:00.233467-05:00'.replace(/\-/ig,'/').split('.')[0])))