Questions tagged «javascript»

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

11
为什么在JavaScript中更改数组会影响数组的副本?
我编写了以下JavaScript: var myArray = ['a', 'b', 'c']; var copyOfMyArray = myArray; copyOfMyArray.splice(0, 1); alert(myArray); // alerts ['b','c'] alert(copyOfMyArray); // alerts ['b','c'] var myNumber = 5; var copyOfMyNumber = myNumber; copyOfMyNumber = copyOfMyNumber - 1; alert(myNumber); // alerts 5 alert(copyOfMyNumber); // alerts 4 此代码声明一个变量myArray并将其设置为数组值。然后,它声明第二个变量copyOfMyArray并将其设置为myArray。它对进行操作copyOfMyArray,然后向myArray和发出警报copyOfMyArray。不知何故,当我对执行操作时copyOfMyArray,似乎对执行了相同的操作myArray。 然后,代码使用数字值执行相同的操作:它声明一个变量myNumber并将其设置为数字值。然后,它声明第二个变量copyOfMyNumber并将其设置为myNumber。它对进行操作copyOfMyNumber,然后向myNumber和发出警报copyOfMyNumber。在这里,我得到预期的行为:对不同的价值观myNumber和copyOfMyNumber。 数组与JavaScript中的数字有什么区别,似乎更改数组会更改该数组副本的值,而更改数字不会更改该数字副本的值吗? 我猜测由于某种原因,数组是通过引用引用的,而数字是通过值引用的,但是为什么呢?我如何知道其他对象会有什么行为?
80 javascript 

9
加号查询字符串
我有一个使用C#和asp.net创建的webapp。我将参数值放在带有加号(+)的查询字符串中。但是加号消失了。 如何在查询字符串中包含加号(+)而不会消失? 请指教。 谢谢。 编辑:使用UrlEncode添加代码 string str = Server.UrlEncode(Requery.QueryString["new"]);
80 c#  javascript  asp.net 

6
Node.js console.log-是否可以更新行而不是创建新行?
我的node.js应用程序有很多控制台日志,这对我来说很重要(这是一个很大的应用程序,因此运行了很长时间,我需要知道事情仍在进行中),但最终却出现了数千行控制台日志。 是否可以通过某种方式console.update擦除/替换控制台行而不是创建新行?

6
jQuery AJAX调用中是否有与“最终”类似的东西?
jQuery AJAX调用中是否有Java“最终”类似物?我在这里有这段代码。我总是抛出一个异常,但是我总是希望它转到then()方法。 call.xmlHttpReq = $.ajax({ url : url, dataType : 'json', type : 'GET' }).always(function(processedDataOrXHRWrapper, textStatus, xhrWrapperOrErrorThrown) { throw "something"; }).then(function() { alert("i want to always run no matter what"); }); 我试图使用done(),complete()和另一个always(),但是似乎没有任何效果。 这是JSFiddle: http://jsfiddle.net/qv3t3L0m/

6
使用Node.js将对象写入文件
我已经在stackoverflow / google上搜索了所有内容,但似乎无法弄清楚。 我正在抓取给定URL页面的社交媒体链接,该函数返回带有URL列表的对象。 当我尝试把这些数据写入到不同的文件,将其输出到文件[object Object],而不是预期:“ https://twitter.com/#!/101Cookbooks ”,' http://www.facebook.com/ 101cookbooks ']就像我console.log()得到结果时一样。 这是我在Node中读写文件,尝试读取每一行(URL)并通过函数调用输入的悲伤尝试request(line, gotHTML): fs.readFileSync('./urls.txt').toString().split('\n').forEach(function (line){ console.log(line); var obj = request(line, gotHTML); console.log(obj); fs.writeFileSync('./data.json', obj , 'utf-8'); }); 供参考-gotHTML函数: function gotHTML(err, resp, html){ var social_ids = []; if(err){ return console.log(err); } else if (resp.statusCode === 200){ var parsedHTML = $.load(html); parsedHTML('a').map(function(i, …

9
使用JavaScript在div中添加/删除HTML
我希望能够将多个行添加到div并删除它们。我在页面顶部有一个“ +”按钮,用于添加内容。然后,每行右侧都有一个“-”按钮,用于删除该行。我只是无法弄清楚此示例中的javascript代码。 这是我的基本HTML结构: <input type="button" value="+" onclick="addRow()"> <div id="content"> </div> 这是我想在内容div中添加的内容: <input type="text" name="name" value="" /> <input type="text" name="value" value="" /> <label><input type="checkbox" name="check" value="1" />Checked?</label> <input type="button" value="-" onclick="removeRow()">

9
WebStorm中导入的路径别名
我将webpack路径别名用于ES6模块加载。 例如,如果我为utils而不是定义别名,则 import Foo from "../../../utils/foo"可以 import Foo from "utils/foo" 问题是,一旦我开始使用别名,WebStorm就会失去对导入的跟踪,并且会留下警告并且没有自动完成功能。 有没有一种方法可以指示WebStorm使用此类别名?


4
如何在Express.js中获取发起请求的域?
我正在使用express.js,我需要知道发起呼叫的域。这是简单的代码 app.get( '/verify_license_key.json', function( req, res ) { // do something 如何从req或res对象获取域?我的意思是我需要知道api是由somesite.com还是someothersite.com调用的。我试着做两者的console.dirreq和res,但我还是不知道从那里,也可以参考文档,但它给了我没有帮助。

1
模板字符串作为对象属性名称
为什么JavaScript不允许模板字符串作为对象属性键?例如,当我输入: foo = {`bar`: 'baz'} 进入NodeJS REPL,它会抛出一个 SyntaxError带有长堆栈跟踪的“意外模板字符串”。属性值很好,但是,这并不出乎意料。浏览器中也会发生类似的错误,例如Firebug抛出一个SyntaxError带有“无效属性ID”的错误。 “计算的属性名称”中允许使用模板字符串。例如,这在所有支持以下语法的浏览器中都可以完美编译: var foo = { [`bar` + 1]: `baz` }; 并创建对象 {"bar1": "baz"}。 为什么不允许模板字符串作为文字对象键?是出于性能原因吗?模板字符串必须在运行时进行编译(如果我错了,请纠正我),这意味着每次遇到此对象时,解释器都必须计算对象名称。考虑到“煮熟的”模板字符串之类的因素,这看起来可能会变慢,尽管自ES5以来我们已经有了吸气剂和吸气剂。Firefox并没有将其提及为错误,这就是为什么我发现它出乎意料。将来是否会允许使用该语法?

8
在给定的索引上将字符串拆分为两个并返回两个部分
我有一个字符串,需要在给定的索引上拆分,然后返回两个部分,以逗号分隔。例如: string: 8211 = 8,211 98700 = 98,700 因此,我需要能够在任何给定的索引上拆分字符串,然后返回字符串的两半。内置方法似乎执行了拆分,但仅返回拆分的一部分。 string.slice仅返回提取的一部分字符串。string.split只允许您分割字符而不是索引string.substring满足我的需要,但仅返回子字符串string.substr非常相似-仍然仅返回子字符串
80 javascript 

2
react-router在子组件中获取this.props.location
据我了解,<Route path="/" component={App} />会提供App与路由相关的道具,例如location和params。如果我的App组件有许多嵌套的子组件,那么我如何在不使用以下子项的情况下让子组件访问这些道具: 从App传递道具 使用窗口对象 为嵌套的子组件创建路线 我以为this.context.router会有一些与路线有关的信息,但this.context.router似乎只有一些功能可以操纵路线。

12
从用户代理或Java脚本检测64位或32位Windows?
我想提供正确的下载版本。我的版本是: 32位Windows 64位Windows 的Linux 使用“用户代理”字段检测Linux很容易。但是可以可靠地确定Windows是32位还是64位? 用户可能使用的是奇怪的浏览器-IE和Firefox很常见,我们可能在某个地方有Opera用户。也许还有Chrome用户。我知道64位Windows 7附带了IE的32位和64位版本,我想将下载的64位版本都发送给他们。 (编辑添加:我知道我应该提供所有选项,但是我会的。但是人们不会阅读这些选项。因此,我希望默认情况下提供正确的下载,以提高可用性。当然,这是有帮助的如果我做对了,如果我做错了,那将是无济于事的。从目前的答案来看,这似乎还没有可靠的方法)。

3
在剔除视图中访问$ parent的$ parent-嵌套上下文
为简洁起见更新 如何在嵌套的Knockout foreach中/使用绑定引用$ parents的$ parent? 范例- <!-- ko foreach: grandParent --> <tr> <!-- ko foreach: $parent.parents --> // <-- Doesn't work <!-- ko foreach: children --> <td data-bind="if: favToy().name == $parent.$parent.favToy().name"> <span data-bind="text: favToy().name"></span> </td> <!-- /ko --> <!-- /ko --> </tr> <!-- /ko --> 原版的 抱歉,这个令人困惑的问题,但是我正在尝试达到第二级父级的值,以检查当前上下文中的值(如下所示),仅在它与$ parent的$ parent的值匹配时才显示跨度(ugh!)。 <!-- …


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.