想做一个图片切换的JS 看到这句三元运算符不明白是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想做一个图片切换的JS 看到这句三元运算符不明白是啥意思相关的知识,希望对你有一定的参考价值。

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Auto-Playing Slideshow | jquerydemo.com</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div id="photos">
<img src="images/in-the-outfield.jpg"/>
<img src="images/ballpark-scoreboard.jpg" />
<img src="images/batting-helmets.jpg" />
<img src="images/baseball-in-glove.jpg" />
</div>

<script src="js/lib/jquery-1.9.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
$("#photos img:gt(0)").hide();
setInterval(function()
var current = $('#photos img:visible');
var next = current.next().length ? current.next() : $('#photos img:eq(0)');
current.fadeOut();
next.fadeIn();
, 3000);
);
</script>
var next = current.next().length ? current.next() : $('#photos img:eq(0)');这个三元运算符 curren.next().length 不是要有条件判断吗?他这样写是什么意思

current.next().length ?因为js里边把0会默认的转为false,所以这个3元操作符其实是current.next().length===0 ?的简写。 参考技术A current.next().length就是判断这个值是不是存在把。如果存在current.next().length就是大于等于1了,不存在就为0.
希望对你有用!追答

解决了吗

已通知提问者对您的回答进行评价,请稍等

参考技术B 这是js 代码 定义长度吧

js三元运算符

说起js,对很多初学者来说可能还是比较费力的,本人也是觉得js功底还是不够扎实,所以把有些东西在学习一遍,顺便分享出来希望可以帮到有需要的人

“三元运算符”  什么是三元运算符   

条件?条件成立执行:条件不成立执行;

相当于简单的if()else()语句

举个栗子:

var num=10;

if(num>5 && num<=10){

num++;

}else{

num--;

}

三元运算符写法

num>5 && num<=10 ? num++:num--;

三元运算符另外一种情况,相当于只有if()的语句,改写为三元运算符写法,

var num=10;

if(num>5 && num<=10){

 num++;

}

num>5 && num<=10?num++:null;    //null作为条件不成立的占位符,冒号后面不写任何东西则会报错,可以使用null、undefined、void 0(就是undefined)占位即可;

 

var num=10;

 

if(num>5 && num<=10){

 

 num++;

console.log(num);

 

}

 

上面这个例子可以改写成这样

num>5 && num<=10?(num++,console.log(num)):null;  多条语句中间用逗号分隔

 

以上是关于想做一个图片切换的JS 看到这句三元运算符不明白是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

js三元运算符

有没有更好(更干净)的方法来使用三元运算符(不重复代码)编写这个 JS 代码?

js三元运算符与循环

Javascript三元运算符语法不理解[重复]

C# 中哪个三元运算符最流行和最常用? [关闭]

Java 多三元运算符