你好我有两个问题我从jQuery UI网站上提取了这个脚本,这里是完整代码的链接http://jqueryui.com/animate/
1)var = state的目的是什么?你能在if语句中使用boolean true吗?
2)在if / else语句之后,您可以看到var =!state。这是什么目的,什么是!意思?
<script>
$(function() {
var state = true;
$( "#button" ).click(function() {
if ( state ) {
$( "#effect" ).animate({
backgroundColor: "#aa0000",
color: "#fff",
width: 500
}, 1000 );
} else {
$( "#effect" ).animate({
backgroundColor: "#fff",
color: "#000",
width: 240
}, 1000 );
}
state = !state;
});
});
</script>
答案 0 :(得分:3)
这意味着'不'。如果x = !false
,则x为真。如果x = !true
,则x为false。
答案 1 :(得分:3)
布尔值中javascript中的not(!)运算符切换bool值true
和false
之间的状态,所以:
state = !state;
的效果是,如果state为true,则现在为false,反之亦然。回答你的第一个问题:
var state = true;
表示初始state
从true开始。像state
这样的Javascript变量是可变的,并且状态值将根据上面的切换进行更改,每次单击按钮都会触发该切换。
将所有内容放在一起,并附上评论:
// Set the initial visual state
var state = true;
// jQuery handler for each button click
$( "#button" ).click(function() {
if ( state ) {
// Visual effects when state is true
} else {
// Visual effects when state is false
}
// Now change the visual state, (which will be applied in the next click)
state = !state;
});
有趣的是,只有在应用新的可视状态后才会更改状态,这意味着显示更新lags
状态。
答案 2 :(得分:0)
它只是意味着“不”。以下是您使用它的原因的几个例子:
function check() {
if (!document.getElementById('text').value) {
// if the input is empty, (NOT have a value) then alert the user
alert('You did not enter text.');
}
}
<input type="text" id="text" />
<button onclick="check()">Check if the input is emtpy.</button>
function check(){
if (document.getElementById('number').value != 22){
// != is the opposite of ==
alert('Yay! You didn\'t pick number 22!');
}
}
Please don't enter the number 22:
<input type="number" id="number" />
<button onclick="check()">Check number</button>
答案 3 :(得分:0)
1)
var state=true
是一个最初保持为true的变量,所以当click函数执行时,如果block将执行,后者on state转换为reverse值,即如果为true,则反之亦然。 不,你不能使用布尔值true,因为在这种情况下总是如果块执行。
2)布尔值中javascript中的not(!)运算符切换bool值true和false之间的状态,