Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

10
JavaScript中的多维关联数组
有以下查询结果:(key1和key2可以是任何文本) id key1 key2 value 1 fred apple 2 2 mary orange 10 3 fred banana 7 4 fred orange 4 5 sarah melon 5 ... 我希望将数据存储在网格(可能是数组)中,像这样循环所有记录: apple orange banana melon fred 2 4 7 - mary - 10 - - sarah - - - 5 在PHP中,使用关联数组非常容易: $result['fred']['apple'] = 2; …

3
JS对象中的键(字符串)的长度是否有限制?
因此,我们有一个对象,键是id(int),值是字符串的情况。但是我们注意到,在大多数情况下,我们是根据字符串查找id的,因此我们决定将其取反并以字符串作为键,而值就是id。因为这样,我们无需执行每个项目并比较值,而是可以这样做var id = storage[text];。以下是我们所做的示例。 这是旧实现的示例: var storage = { 0 : null, 1 : "Hello", 2 : "world!", 3 : "How are you?" } 这是新实现的示例: var storage = { "null" : 0, "Hello" : 1, "world!" : 2, "How are you?" : 3 } 我知道,现在字符串是关键,并且可以为相同的字符串获取相同的ID。但是由于现在字符串可能非常巨大(机会很小,但每个字符串最大可能为1KB),因此对对象键是否设置了长度限制JS或Android Webview? 而且,此实现是否有缺点?到目前为止,我还没有发现任何问题,但是您永远不会知道。

4
匹配模式或为空字符串的正则表达式
我有以下与电子邮件地址格式匹配的正则表达式: ^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$ 这用于使用JavaScript进行表单验证。但是,这是一个可选字段。因此,如何更改此正则表达式以匹配电子邮件地址格式或空字符串? 根据我对正则表达式的有限了解,我认为\b匹配一个空字符串,并|表示“ Or”,因此我尝试执行以下操作,但此方法无效: ^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$|\b

8
javascript对象过滤器数组
我有一系列对象,我想知道搜索它的最佳方法。给定以下示例,我如何搜索name = "Joe"和age < 30?jQuery有什么可以帮助的吗?还是我必须自己蛮力搜​​索? var names = new Array(); var object = { name : "Joe", age:20, email: "joe@hotmail.com"}; names.push(object); object = { name : "Mike", age:50, email: "mike@hotmail.com"}; names.push(object); object = { name : "Joe", age:45, email: "mike@hotmail.com"}; names.push(object);

3
jQuery从特定形式获取所有输入
有什么方法可以填充特定形式的所有输入吗?可以这样说: <form id="unique00"> <input type="text" name="whatever" id="whatever" value="whatever" /> <div> <input type="checkbox" name="whatever" id="whatever" value="whatever" /> </div> <table><tr><td> <input type="hidden" name="whatever" id="whatever" value="whatever" /> <input type="submit" value="qweqsac" /> </td></tr></table> </form> <form id="unique01"> <div> <input type="text" name="whatever" id="whatever" value="whatever" /> <input type="checkbox" name="whatever" id="whatever" value="whatever" /> </div> <table><tr><td> <input type="hidden" name="whatever" …

7
如何将HTMLElement转换为字符串
我将在JavaScript中创建XML元素以与服务器端交换数据。我发现我可以做到document.createElement。但是我不知道如何将其转换为字符串。浏览器中是否有任何API使其更容易使用?还是有包括此API的任何JS库? 编辑:我发现浏览器API XMLSerializer,它应该是序列化为字符串的正确方法。
84 javascript  html 

14
React Native-使用动态名称的图像需求模块
我目前正在使用React Native构建一个测试应用程序。到目前为止,图像模块一直运行良好。 例如,如果我有一个名为的图像avatar,则以下代码段可以正常工作。 <Image source={require('image!avatar')} /> 但是但是如果我将其更改为动态字符串,则会得到 <Image source={require('image!' + 'avatar')} /> 我得到错误: 需要未知模块“ image!avatar”。如果您确定模块在那里,请尝试重新启动打包程序。 显然,这是一个人为的示例,但是动态图像名称很重要。React Native是否不支持动态图像名称?

4
如何将Moment.js日期转换为用户本地时区?
我使用Moment.js和Moment-Timezone框架,并具有一个明确位于UTC时区的Moment.js日期对象。如何将其转换为浏览器的当前时区? var testDateUtc = moment.tz("2015-01-30 10:00:00", "UTC"); var localDate = ??? 因此,如果我能找到用户的本地时区,那就太好了;或者,我想将日期对象转换为仅使用“本地时区”的另一个数据对象,无论实际上是什么。

3
ASP.NET MVC-捆绑配置顺序
我正在尝试在ASP.NET MVC 5应用程序中使用特定的语言环境(es-CL)。我有以下内容: 将web.config uiculture和区域性更改为“ es-CL” 安装了Globalize和jQuery.Validation.Globalize包 更改了我视图中的默认语言: <html lang="es-cl"> 创建了一个新的捆绑包,并将其包含在适当的视图中。 在BundleConfig.cs中: bundles.Add(new ScriptBundle("~/bundles/jqueryval") .Include("~/Scripts/jquery.validate.js") .Include("~/Scripts/jquery.validate.unobtrusive.js")); bundles.Add(new ScriptBundle("~/bundles/globalization") .Include("~/Scripts/globalize/globalize.js") .Include("~/Scripts/globalize/cultures/globalize.culture.es-CL.js") .Include("~/Scripts/jquery.validate.globalize.js")); 在适当的视图中: @section Scripts { @Scripts.Render("~/bundles/jqueryval") @Scripts.Render("~/bundles/globalization") } 但是,生成的源代码如下: <script src="/Scripts/jquery.validate.js"></script> <script src="/Scripts/jquery.validate.unobtrusive.js"></script> <script src="/Scripts/jquery.validate.globalize.js"></script> <script src="/Scripts/globalize/globalize.js"></script> <script src="/Scripts/globalize/cultures/globalize.culture.es-CL.js"></script> 请注意,jquery.validate.globalize.js脚本是在globalize.js之前加载的,这不是我想要的。 为什么会这样呢?是否可以依靠单个包中的包含顺序,还是我被迫将此单个脚本放在另一个包中并在我的视图中指定它?

6
Vue.js:定义服务
我正在寻找Vue.js作为Angular的替代产品,到目前为止我真的很喜欢。为了感受一下,我将现有的Angular项目重构为Vue项目。我正好需要与REST API通信。 在Angular中,我曾经为此定义了一个服务,该服务被注入到每个需要它的控制器中。据我了解,Vue似乎并不了解“服务”构造。在Vue中如何实现? 我考虑过了vue-resource,但据我了解,它仅用于http功能。当我也使用jQuery时,这已经过时了。 例: 我有vueComponent1和vueComponent2。两者都需要访问相同的REST资源。为了解决这个问题,我需要一个中央服务,这两个组件都可以用于对REST资源的请求。Angular具有“服务”组件,正是这一点。Vue还没有。

10
令牌刷新后Angular 4拦截器重试请求
嗨,我正在尝试弄清楚如何实现新的角度拦截器并401 unauthorized通过刷新令牌并重试请求来处理错误。这是我一直遵循的指南:https : //ryanchenkie.com/angular-authentication-using-the-http-client-and-http-interceptors 我已经成功地缓存了失败的请求,并且可以刷新令牌,但是我不知道如何重新发送以前失败的请求。我也想使它与我当前使用的解析器一起使用。 令牌拦截器 return next.handle( request ).do(( event: HttpEvent<any> ) => { if ( event instanceof HttpResponse ) { // do stuff with response if you want } }, ( err: any ) => { if ( err instanceof HttpErrorResponse ) { if ( err.status === 401 …


6
javascript:禁用文本选择
我正在使用JavaScript禁用我的网站上的文本选择。 代码是: <script type="text/JavaScript"> function disableselect(e) { return false } function reEnable() { return true } document.onselectstart = new Function ("return false") if (window.sidebar) { document.onmousedown = disableselect document.onclick = reEnable } </script> 类似的脚本可以在这里找到 在我的本地主机上:所有浏览器(Firefox,Chrome,IE和Safari)都可以正常工作。 在我的Live网站上:除Firefox外,一切正常。 我的问题是: 是否有人对Firefox为什么对现场站点和本地主机的行为有所不同的建议?注意:已启用Javascript。 也许我的脚本太简单了,所以我用完全相同的结果尝试了以下内容
84 javascript 


12
将未知数量的参数传递给javascript函数
有没有办法传递未知数量的参数,例如: var print_names = function(names) { foreach(name in names) console.log(name); // something like this } print_names('foo', 'bar', 'baz'); 另外,如何获得传入的参数数量?
84 javascript 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.