Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScripttwo"&引用;接线员一个接一个_Javascript - Fatal编程技术网

JavaScripttwo"&引用;接线员一个接一个

JavaScripttwo"&引用;接线员一个接一个,javascript,Javascript,请帮助我理解这段代码是如何工作的 function getOpacity( elem ) { var filter = elem.style.filter; return filter ? filter.indexOf("opacity=") >= 0 ? (parseFloat(filter.match(/opacity=([^)]+)/)[1]) / 100) + "" : "" : elem.style.opacity; } 我尝

请帮助我理解这段代码是如何工作的

function getOpacity( elem ) {
var filter = elem.style.filter;
return filter ?
      filter.indexOf("opacity=") >= 0 ?
        (parseFloat(filter.match(/opacity=([^)]+)/)[1]) / 100) + "" :
     "" :
      elem.style.opacity;
 }

我尝试了console.log(filter)并收到了空字符串。我发现两个“?”操作符发生了有趣的事情。我知道有一个是什么。但是我需要两个这样的操作符的帮助。

它只是嵌套的条件(即
?:
)操作符。此代码相当于:

if (filter) {
    if (filter.indexOf("opacity=") >= 0) {
        return (parseFloat(filter.match(/opacity=([^)]+)/)[1]) / 100) + "";
    } else {
        return "";
    }
} else {
    return elem.style.opacity;
}

它只是嵌套的条件运算符(即
?:
)。此代码相当于:

if (filter) {
    if (filter.indexOf("opacity=") >= 0) {
        return (parseFloat(filter.match(/opacity=([^)]+)/)[1]) / 100) + "";
    } else {
        return "";
    }
} else {
    return elem.style.opacity;
}

它只是嵌套的条件运算符(即
?:
)。此代码相当于:

if (filter) {
    if (filter.indexOf("opacity=") >= 0) {
        return (parseFloat(filter.match(/opacity=([^)]+)/)[1]) / 100) + "";
    } else {
        return "";
    }
} else {
    return elem.style.opacity;
}

它只是嵌套的条件运算符(即
?:
)。此代码相当于:

if (filter) {
    if (filter.indexOf("opacity=") >= 0) {
        return (parseFloat(filter.match(/opacity=([^)]+)/)[1]) / 100) + "";
    } else {
        return "";
    }
} else {
    return elem.style.opacity;
}

的默认优先级

a ? b : c ? d : e

而不是,举例来说

(a ? b : c) ? d : e

这使得使用
三元运算符很容易,就像一系列没有多余括号的
if/then/else
语句一样,尽管如果您认为它们可以提高可读性,欢迎添加它们。

的默认优先级为

a ? b : c ? d : e

而不是,举例来说

(a ? b : c) ? d : e

这使得使用
三元运算符很容易,就像一系列没有多余括号的
if/then/else
语句一样,尽管如果您认为它们可以提高可读性,欢迎添加它们。

的默认优先级为

a ? b : c ? d : e

而不是,举例来说

(a ? b : c) ? d : e

这使得使用
三元运算符很容易,就像一系列没有多余括号的
if/then/else
语句一样,尽管如果您认为它们可以提高可读性,欢迎添加它们。

的默认优先级为

a ? b : c ? d : e

而不是,举例来说

(a ? b : c) ? d : e

这使得使用
三元运算符很容易,就像一系列没有多余括号的
if/then/else
语句一样,尽管如果您认为它们可以提高可读性,欢迎添加它们。

两个条件运算符没有什么特别之处,它们只是嵌套的。你可以用同样的方法做
a+(b+c)
你可以做
a?(x?y:z):c
。每个操作数可以是任何表达式,因此可以使用条件运算符作为操作数之一。两个条件运算符没有什么特殊之处,它们只是嵌套的。你可以用同样的方法做
a+(b+c)
你可以做
a?(x?y:z):c
。每个操作数可以是任何表达式,因此可以使用条件运算符作为操作数之一。两个条件运算符没有什么特殊之处,它们只是嵌套的。你可以用同样的方法做
a+(b+c)
你可以做
a?(x?y:z):c
。每个操作数可以是任何表达式,因此可以使用条件运算符作为操作数之一。两个条件运算符没有什么特殊之处,它们只是嵌套的。你可以用同样的方法做
a+(b+c)
你可以做
a?(x?y:z):c
。每个操作数都可以是任何表达式,因此您可以使用条件运算符作为操作数之一。为什么要使用
而不是实际的javascript来显示等效值?@jfriend00 Oops,当时还以为这是python。我会解决的。(这特别奇怪,因为python没有条件运算符…)为什么要使用
而不是实际的javascript来显示等价的代码?@jfriend00 Oops,当时还以为这是python。我会解决的。(这特别奇怪,因为python没有条件运算符…)为什么要使用
而不是实际的javascript来显示等价的代码?@jfriend00 Oops,当时还以为这是python。我会解决的。(这特别奇怪,因为python没有条件运算符…)为什么要使用
而不是实际的javascript来显示等价的代码?@jfriend00 Oops,当时还以为这是python。我会解决的。(这尤其奇怪,因为python没有条件运算符…)我不能说我曾经遇到过这样的情况:我积极地认为
?:
的任何嵌套都会导致更可读的代码。。嗯,+1指出了优先顺序。我不能说我曾经遇到过这样的情况,我积极地认为任何
?:
的嵌套都会导致更可读的代码。。嗯,+1指出了优先顺序。我不能说我曾经遇到过这样的情况,我积极地认为任何
?:
的嵌套都会导致更可读的代码。。嗯,+1指出了优先顺序。我不能说我曾经遇到过这样的情况,我积极地认为任何
?:
的嵌套都会导致更可读的代码。。嗯,+1表示优先顺序。