撰写时间:2019年8月06日 星期二
三目运算符之获取当前时间方法
首先,先了解一下什么是三目运算符。三目运算符只有一个“?:”,三目运算符的语法格式如下:
(expression) ? strue-true : strue-false;
三目运算符的运算规则是:先对逻辑表达式expression求值,要是表达式返回的true,则执行第二部分的语句:要是表达式返回的false,则返回是第三部分语句。如下代码:
<script>
5 > 3 ? alert("5大于3") :("5小于3");
</script>
代码运行结果如下图:
大部分时候,三目运算符都是作为if else的精简写法。只要if else条件执行体都有一条语句,我们就可以将这种写法换成三目运算符写法。代码如下:
<script>
//5 > 3? alert("5大于3") :("5小于3");
//如果5大于3,将执行
if (5>3) {
alert("5大于3");
}
//否则将执行下面这
else {
alert("5小于3");
}
</script>
这两种代码写法的效果是完全相同的,三目运算符和if else写法的区别在于:if语句后面代码块可以多个语句,但三目运算符是不支持多个语句的。代码如下:
<script>
//如果5大于4,将执行
if (5>3) {
alert("5大于3");
alert("多行语句");
alert("多行语句1");
}
//否则将执行下面这
else {
alert("5小于3");
alert("多行语句");
alert("多行语句1");
}
</script>
对于上的代码块,则无法转换成三目运算符。
在开发网页时:有一些业务模块是需要获取当前时间的,我可以通过input标签的type为date设置一个插件,点击选择获取。那么如何直接点击触发找到当前时间呢?
代码如下:
$("#aaaaa ").click(function () {
//时间
var date = new Date();
var Month = date.getMonth() + 1 < 10 ? "0" + date.getMonth() :
date.getMonth();//
var dd = date.getUTCDate() < 10 ? "0" + date.getUTCDate()
: date.getUTCDate();
var hh = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
var mm = date.getMinutes() < 10 ? "0" + date.getMinutes()
: date.getMinutes();
var ss = date.getSeconds() < 10 ? "0" + date.getSeconds()
: date.getSeconds(); var dateString = date.getFullYear() + "-" + Month + "-" + dd + " " + hh + ":" + mm + ":" + ss;
//赋值
$("# aaaaa ").val(dateString);
})