我完全失去了.
我有一个功能..
Number.prototype.abs = function () {
return this >= 0 ? this : this * -1;
};
Run Code Online (Sandbox Code Playgroud)
..that返回一个数字的绝对值..
(50).abs(); // 50
(-50).abs(); // 50
Run Code Online (Sandbox Code Playgroud)
..但是没有正确比较..
(50).abs() === 50; // False
Run Code Online (Sandbox Code Playgroud)
..有时.
(50).abs() == 50; // True
(-50).abs() === 50; // True
Run Code Online (Sandbox Code Playgroud)
关于它的是,它适用于Chrome 12和Firefox 4,但不适用于IE 9,Safari 5或Opera 11.
我没有看到代码有什么问题,因为它适用于Chrome和Firefox,它是浏览器特有的,但我不知道是什么.
更新:浏览器的具体区别是严格模式支持.我在严格模式下运行我的代码,它引入了一些使我的代码工作的更改.它在浏览器中失败的原因是因为它们具有不完整或缺失的严格模式.
为什么它会返回假?
最近我成了function.name房产的忠实粉丝.
例如,我编写了一个扩展原型的函数.
它的工作方式..
Array.give(
function forEach() { ... }
);
Run Code Online (Sandbox Code Playgroud)
..然后会让你做..
['a', 'b', 'c'].forEach(function () { ... });
Run Code Online (Sandbox Code Playgroud)
此代码适用于Chrome,Safari,Firefox和Opera,但不适用于IE.
在进行了一小部分挖掘之后,我意识到对于give函数来说,function.name只是返回undefined,就像返回的其他东西一样"forEach".
有没有另一种方法可以在IE中获得该名称,或者我是否会对这个美妙的财产失去爱意?
我一直在浏览很多关于JavaScript严格模式的博客文章,文档等.
我注意到delete关键字有很多限制.我甚至不知道你是否可以称他们为限制.似乎delete不再有效.
我很想用严格的模式.这是一个好主意.但我也认为删除是一个好主意.
有没有其他方法可以"删除"变量,或者我只是搞砸了?
可能重复:
为什么将转义字符添加到隐藏输入的值中
所以,我有一个名为Save.php的文件.
它需要两件事:文件和新内容.
您可以通过发送请求来使用它'/Resources/Save.php?file=/Resources/Data.json&contents={"Hey":"There"}'.
..但当然,编码网址.:)为了简单和可读性,我把它全部解开了.
该文件有效,但不是内容..
{"Hey":"There"}
Run Code Online (Sandbox Code Playgroud)
..我发现..
{\"Hey\":\"There\"}
Run Code Online (Sandbox Code Playgroud)
..当然在JSON.parse稍后通过XHR获取JSON文件时尝试使用时会引发错误.
为了保存内容,我只是使用..
file_put_contents($url, $contents);
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能摆脱反斜杠?
我有两个主要问题.
是否可以扩展Object计数?
什么是DOM包装?
http://perfectionkills.com/whats-wrong-with-extending-the-dom/
在阅读那篇文章之后,我找不到关于DOM包装的任何内容,也没有找到任何规范以及究竟是什么和不是DOM扩展.
我对配置Apache比较陌生.
我有一个PHP脚本,它根据从中检索的值写入JSON文件$_GET.
<?php
file_put_contents('State.json', "{ do: '" . $_GET['do'] . "' }");
echo "Success";
?>
Run Code Online (Sandbox Code Playgroud)
我通过创建XHR请求来运行该代码.
Ally.xhr('/Cream/Foam?do=someCommand');
Run Code Online (Sandbox Code Playgroud)
它返回的页面说 failed to open stream: Permission denied on line 3.
<Directory "~/Dropbox/Web">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
这些是给根服务器文件夹的权限.
我需要更改什么才能允许PHP写入文件?
(我几乎不知道上面的块意味着什么.)
我正在为我的工具包进行本地化.
我的目标是,如果您是德国Web开发人员并且您想要使用forEach循环,而不是键入['hey', 'there'].forEach(function () {});他们可以键入['hey', 'there'].fürJeder(function () {});
我将所有单词存储在一个对象中$.i18n.de.
在我的JavaScript文件中
de: {
extend: 'verlänger',
forEach: 'fürJeder'
}
Run Code Online (Sandbox Code Playgroud)
但是当我进入物体去获取它们时,它们变成了verlänger和fürJeder.
我不知道为什么.
一些细节:
我的问题:如何让浏览器正确处理这些问题?
我尝试过在它们之前使用反斜杠,但它保持不变.
编辑:拧它.我发现那些激励我做这件事的人把它当作愚人节的笑话.我真的应该点击其中一些链接.它会节省我2小时的尝试设置API.
var returned = values.make(function (value, index) {
return items[index].value = value;
});
Run Code Online (Sandbox Code Playgroud)
我有上面的代码片段.
值是要分配给不同元素的值数组.
Make本质上相当于Array.prototype.map.
Array.prototype.make = function (loop, playground) {
var loop = loop || function (value) { return value },
playground = playground || this;
if (loop.Type !== "Function") throw "Loop [0] is not a function.";
var returned = [];
for (var i = 0; i < this.length; i++)
returned[i] = loop.apply(playground, [this[i], i, this]);
return returned;
};
Run Code Online (Sandbox Code Playgroud)
此外,我Function.prototype.Type = "Function";在同一个文件中,所以它不会.Type抛出错误..Type工作得很好. …
我正试图在尽可能多的浏览器中测试我自制的JavaScript框架.今天我意识到,在我的Windows计算机上,我可以安装Windows Phone 7开发人员工具并在模拟器中进行测试.
我这样做了,遗憾的是它不起作用,但我不知道如何分辨出错了什么.我不知道如何尝试修复它,因为在一个框架中,有1000个可能出错的东西,我只能猜测.
有谁知道如何在模拟器浏览器中调试,或者我只是卡住了?
javascript ×8
php ×2
apache2 ×1
apache2.2 ×1
dom ×1
httpd.conf ×1
json ×1
math ×1
mootools ×1
prototypejs ×1