<script>
/*快速把数字转为字符串可以再数字后面加一个空字符*/
var s = 123; //s是number类型
s += ""; //此时s就变成了string类型
var a, b;
a = prompt("请输入a的值");
b = prompt("请输入b的值");
document.write("a+b之和" + (a + b)); //此时如果a输入的是10,b是11,则显示的结果则会是1011
/*因为prompt()接收的值是string,,如果想得到数字值则要按如下*/
document.write("a+b之和" + (parseFloat(a) + parseFloat(b))); //此时结果就会是正常的21
</script>
//关于逻辑运算符的例子
<script>
/*返回的会是一个bool值,此例为true*/
var a = 4;
var b = 5;
alert(a || b);
</script>
<script>
/*这时返回的就是a的值,即第一个不为false的值*/
var a = 4;
var b = 5;
var c = a || b;
alert(c);
</script>
<script>
/*在&&中两个都是true的话,即返回最后一个值,此为5*/
var a = 4;
var b = 5;
var c = a && b;
alert(c);
</script>
<script>
/*这时返回的就是c的值,为0*/
var a = 0;
var b = 5;
var c = a && b;
alert(c);
</script>
<script>
/*如果全是为false的值,就返回最后一个值,此d为""*/
var a = 0;
var b = false;
var c = "";
var d = a || b || c;
alert(c);
</script>
<script>
/*这时输出为[object Object]类型为object*/
/*||运算返回的不一定是个bool值*/
var a = 0;
var b = "";
var c = new Object();
var d = a || b || c;
alert(d + "类型为" + typeof d);
</script>
<script>
/*此时输出就为hello, 然后[object Object], 最后[object Object]*/
function f(obj)
{
var k = obj || new Object();
alert(k);
}
f("hello");
f();
f("");
</script>
<script>
/*此例中两个窗口弹出的内容分别是No和91*/
var v1 = 90;
var v2 = 9;
if(v1 > v2 && ++v1 > 100)
{
alert("OK");
}
else
{
alert("No");
}
alert("v1的值为:" + v1);
</script>
<script>
/*此例中两个窗口弹出的内容分别是No和90*/
/*因为v1 < v2这个条件已经是false所以就不继续往下判断, v1并没有自增*/
/*改成v1++结果不会改变*/
var v1 = 90;
var v2 = 9;
if(v1 < v2 && ++v1 > 100)
{
alert("OK");
}
else
{
alert("No");
}
alert("v1的值为:" + v1);
</script>
<script>
/*此例中两个窗口弹出的内容分别是OK和90*/
/*类似上例,因为v1 > v2这个条件已经是true所以就不继续往下判断, v1并没有自增*/
var v1 = 90;
var v2 = 9;
if(v1 > v2 || ++v1 > 100)
{
alert("OK");
}
else
{
alert("No");
}
alert("v1的值为:" + v1);
</script>
/*逻辑运算中,0, "", false, null, undefined, NaN均表示false*/