从jQuery 1.7rc1 source code(系1822年至1824年):a = a;是什么意思?分析jQuery的源
if (jQuery.isArray(name)) {
name = name;
}
什么是有name = name
点?两个name
可以不一样吗?
从jQuery 1.7rc1 source code(系1822年至1824年):a = a;是什么意思?分析jQuery的源
if (jQuery.isArray(name)) {
name = name;
}
什么是有name = name
点?两个name
可以不一样吗?
我认为它是为了可读性而添加的。该名称应该是一个数组,但并非总是如此。在某些情况下,它将转换为一个数组,但在这种情况下,它是'好的'。
整个片段:
// Support space separated names
if (jQuery.isArray(name)) {
name = name;
} else if (name in thisCache) {
name = [ name ];
} else {
// split the camel cased version by spaces
name = jQuery.camelCase(name);
if (name in thisCache) {
name = [ name ];
} else {
name = name.split(" ");
}
}
它看起来就像所有分支if语句所做的一样(它们都指定为name
)。
声明很可能加入到与其他陈述相一致。 name = name
可以省略,但它可能保持清楚地显示块的功能。
没有办法让一个完全相同名称的变量保持不同的值,彼此相邻。
代码
// Support space separated names
if (jQuery.isArray(name)) {
name = name;
} else if (name in thisCache) {
name = [ name ];
} else {
// split the camel cased version by spaces
name = jQuery.camelCase(name);
if (name in thisCache) {
name = [ name ];
} else {
name = name.split(" ");
}
}
标识符名'“名称”'要么是结合到在当前词法环境与否的值。它不能被绑定到两个不同的值。 –
顺便说一下,如果属性是一个具有定义的setter函数的访问器属性,那么对属性的赋值(如'foo.bar = foo.bar;')是有意义的。 (例如'iframe.src = iframe.src;'将重新传递IFRAME。) –
@ŠimeVidas:你能举一个例子吗? – Randomblue