1
自从我成为一名程序员以来,我一直都很努力,但我有时候会问一些愚蠢的问题。 我还没有一些新技术让我非常老派的程序员。例如下面的代码,就是删除所有的cookies。代码解释 - 我认为它是Lambda表达式
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var eqPos = cookie.indexOf('=');
var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT';
}
在那里它是这样做的
eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
我不知道这里发生了什么。你能解释一下吗?这是什么类型的符号,我需要学会理解它。
这是一个三元运算符的含义'if(eqPos> -1)cookie.substr(0,eqPos); else cookie;'结果被分配给'name'。 – C5H8NNaO4 2013-05-13 06:09:45
除了C5H8NNaO4的评论,它不是一个lambda表达式。三元运算符也称为条件运算符。具有示例用法的更多信息可在[MDN]处获得(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator)。 – nnnnnn 2013-05-13 06:17:12