小编McK*_*yla的帖子

JavaScript指数

你如何用JavaScript做指数?

就像你怎么做12 ^ 2?

javascript math

94
推荐指数
4
解决办法
7万
查看次数

50 === 50:假.50 == 50:是吗?

我完全失去了.

我有一个功能..

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,它是浏览器特有的,但我不知道是什么.

更新:浏览器的具体区别是严格模式支持.我在严格模式下运行我的代码,它引入了一些使我的代码工作的更改.它在浏览器中失败的原因是因为它们具有不完整或缺失的严格模式.

为什么它会返回假?

javascript

27
推荐指数
4
解决办法
1425
查看次数

IE中不支持function.name.

最近我成了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

15
推荐指数
3
解决办法
1万
查看次数

删除的替代方案?

我一直在浏览很多关于JavaScript严格模式的博客文章,文档等.

我注意到delete关键字有很多限制.我甚至不知道你是否可以称他们为限制.似乎delete不再有效.

我很想用严格的模式.这是一个好主意.但我也认为删除是一个好主意.

有没有其他方法可以"删除"变量,或者我只是搞砸了?

javascript

7
推荐指数
2
解决办法
3728
查看次数

PHP,为什么你要逃避我的报价?

可能重复:
为什么将转义字符添加到隐藏输入的值中

所以,我有一个名为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)

我该怎么做才能摆脱反斜杠?

php json

6
推荐指数
1
解决办法
5575
查看次数

DOM扩展/包装究竟是什么?

我有两个主要问题.

  1. 是否可以扩展Object计数?

  2. 什么是DOM包装?

http://perfectionkills.com/whats-wrong-with-extending-the-dom/

在阅读那篇文章之后,我找不到关于DOM包装的任何内容,也没有找到任何规范以及究竟是什么和不是DOM扩展.

javascript mootools dom prototypejs

5
推荐指数
1
解决办法
1798
查看次数

在Apache中授予PHP写入权限

我对配置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写入文件?

(我几乎不知道上面的块意味着什么.)

php apache2 httpd.conf apache2.2

5
推荐指数
1
解决办法
4万
查看次数

特殊人物(和MooTools)毁了我的生命

我正在为我的工具包进行本地化.

我的目标是,如果您是德国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.

我不知道为什么.

一些细节:

  • 我在运行10.6.7的MacBook Pro上
  • 我正在使用Kod作为我的编辑.
  • 我正在使用谷歌浏览器作为我的浏览器.
  • 我正在使用Option + U +字母键入ä和ü.

我的问题:如何让浏览器正确处理这些问题?

我尝试过在它们之前使用反斜杠,但它保持不变.

编辑:拧它.我发现那些激励我做这件事的人把它当作愚人节的笑话.我真的应该点击其中一些链接.它会节省我2小时的尝试设置API.

javascript google-chrome internationalization

5
推荐指数
1
解决办法
321
查看次数

Javascript:看似有效的代码导致未捕获错误:NOT_SUPPORTED_ERR:第3行的DOM异常9

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

5
推荐指数
1
解决办法
4162
查看次数

在Windows Phone 7模拟器浏览器中进行调试?

我正试图在尽可能多的浏览器中测试我自制的JavaScript框架.今天我意识到,在我的Windows计算机上,我可以安装Windows Phone 7开发人员工具并在模拟器中进行测试.

我这样做了,遗憾的是它不起作用,但我不知道如何分辨出错了什么.我不知道如何尝试修复它,因为在一个框架中,有1000个可能出错的东西,我只能猜测.

有谁知道如何在模拟器浏览器中调试,或者我只是卡住了?

javascript windows-phone-7

5
推荐指数
1
解决办法
4962
查看次数