标签: javascript

为什么Google会在(1)之前提前; 他们的JSON回复?

为什么Google会while(1);在其(私人)JSON响应前加上?

例如,这是在Google日历中打开和关闭日历时的响应:

while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],
  ['remindOnRespondedEventsOnly','true'],
  ['hideInvitations_remindOnRespondedEventsOnly','false_true'],
  ['Calendar ID stripped for privacy','false'],['smsVerifiedFlag','true']]]]
Run Code Online (Sandbox Code Playgroud)

我认为这是为了防止人们eval()对它进行操作,但你真正需要做的就是更换while然后你就可以了.我认为eval预防是为了确保人们编写安全的JSON解析代码.

我已经在其他几个地方看到了这种情况,但谷歌(邮件,日历,通讯录等)的情况更是如此.奇怪的是,谷歌文档开始了&&&START&&&,谷歌联系人似乎开始while(1); &&&START&&&.

这里发生了什么?

javascript security ajax json

3940
推荐指数
7
解决办法
51万
查看次数

在JavaScript中创建GUID/UUID?

我正在尝试在JavaScript中创建全局唯一标识符.我不确定所有浏览器上有哪些例程,"随机"和内置随机数生成器的种子等等.

GUID/UUID应至少为32个字符,并应保持在ASCII范围内,以避免传递它们时出现问题.

javascript uuid guid

3915
推荐指数
46
解决办法
166万
查看次数

你如何获得JavaScript的时间戳?

如何在JavaScript中获取时间戳?

与Unix的时间戳类似的东西,即代表当前时间和日期的单个数字.无论是数字还是字符串.

javascript datetime timestamp date unix-timestamp

3844
推荐指数
35
解决办法
273万
查看次数

如何检查数组是否包含JavaScript中的对象?

找出JavaScript数组是否包含对象的最简洁有效的方法是什么?

这是我知道的唯一方法:

function contains(a, obj) {
    for (var i = 0; i < a.length; i++) {
        if (a[i] === obj) {
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

有没有更好,更简洁的方法来实现这一目标?

这与Stack Overflow问题密切相关问题在JavaScript数组中查找项目的最佳方法是什么?它使用的方法寻找数组中的对象indexOf.

javascript arrays algorithm time-complexity javascript-objects

3778
推荐指数
37
解决办法
241万
查看次数

如何在JavaScript中创建字符串大写的第一个字母?

如何将字符串的第一个字母设为大写,但不更改任何其他字母的大小写?

例如:

  • "this is a test" - > "This is a test"
  • "the Eiffel Tower" - > "The Eiffel Tower"
  • "/index.html" - > "/index.html"

javascript string letter capitalize

3565
推荐指数
79
解决办法
188万
查看次数

如何使用JavaScript复制到剪贴板?

将文本复制到剪贴板的最佳方法是什么?(多浏览器)

我试过了:

function copyToClipboard(text) {
    if (window.clipboardData) { // Internet Explorer
        window.clipboardData.setData("Text", text);
    } else {  
        unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
        const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);  
        clipboardHelper.copyString(text);
    }
}
Run Code Online (Sandbox Code Playgroud)

但在Internet Explorer中,它会出现语法错误.在Firefox中,它说unsafeWindow is not defined.

没有闪存的好技巧:Trello如何访问用户的剪贴板?

javascript clipboard copy-paste

3131
推荐指数
40
解决办法
170万
查看次数

电话和申请有什么区别?

使用callapply调用函数有什么区别?

var func = function() {
  alert('hello!');
};
Run Code Online (Sandbox Code Playgroud)

func.apply(); VS func.call();

上述两种方法之间是否存在性能差异?当它最好使用callapply,反之亦然?

javascript performance function dynamic

3012
推荐指数
21
解决办法
69万
查看次数

在JavaScript中循环遍历数组

在Java中,您可以使用for循环遍历数组中的对象,如下所示:

String[] myStringArray = {"Hello", "World"};
for (String s : myStringArray)
{
    // Do something
}
Run Code Online (Sandbox Code Playgroud)

你能用JavaScript做同样的事吗?

javascript arrays loops for-loop

2940
推荐指数
43
解决办法
353万
查看次数

如何正确克隆JavaScript对象?

我有一个对象,x.我想把它复制为对象y,这样改变y就不要修改了x.我意识到复制从内置JavaScript对象派生的对象将导致额外的,不需要的属性.这不是问题,因为我正在复制我自己的一个文字构造的对象.

如何正确克隆JavaScript对象?

javascript clone javascript-objects

2922
推荐指数
42
解决办法
176万
查看次数

是什么 !!(不是)JavaScript中的运算符?

我看到一些代码似乎使用了一个我无法识别的运算符,以两个感叹号的形式出现,如下所示:!!.有人可以告诉我这个运营商的作用吗?

我看到这个的背景是,

this.vertical = vertical !== undefined ? !!vertical : this.vertical;
Run Code Online (Sandbox Code Playgroud)

javascript operators

2906
推荐指数
32
解决办法
51万
查看次数