条件语句,循环语句

比较运算符,逻辑运算符

比较运算符

“>”,”<”,”==”,“>=”,“<=”,”!=”

比较结果为boolean值

字符串之间的比较的是ASCII
看一些比较特殊的运算符:
undefined == undefined  true
Infinity == Infinity    true
NaN == NaN              false    特例:NaN不等于任何东西。这是一个规则。

逻辑运算符

“&&”,“||”,“!“

运算结果为真实的值

&&运算符会:先看第一表达式转换为Boolean值的结果,如果结果为真,那么它会看第二个表达式转换成布尔值得结果,然后如果只有两个表达式的话,只要看到第二个表达式,就可以返回该表达式的值了。

var a = 1 && 2 + 2;
document.write(a);//a的值为4
1Boolean为真,看第二个表达式结果为4
var a = 0 && 2 + 2;
document.write(a);//a的值为0
0Booleanfalse,不看下面的表达式了,直接返回第一个表达式的值。
0 && document.write ('a');//如果。。。那么。。
(短路语句)
可以用做判断后端传给前端的值是否有意义
例如:
var data = ...;//后端传过来的值,用变量data存储
date && 执行一个语句,会用到data//判断data变量里的数据是否可执行。
一般在公司用ajax的时候都这么写:
data && fn(data); function里面传参数,这个参数没意义就不执行。

&&碰到假就停 ||碰到真的就停

||举例:
div.onclick = function (e) {
    IE浏览器
    var event = e ;e代表一个事件对象
    IE浏览器
    var event = window.event;
    ||写兼容
    var event = e || window.event;
}

!自身取反

典型例子:
var a = !123;
document.write(a);//返回flase
var a = !""; 
document.write(a);//返回true
var a = !!""; 
document.write(a);//返回flase

被认定为false的值

undefined, null, NaN, “”, 0, false

条件语句

微店一个很恶心的题
var x = 1;
if(function f() {}) {
    x +=typeof f;
}
console.log(x);
因为括号,变成表达式,就不是函数定义了,f就消失了。
未经声明的变量直接使用只有
typeof不报错。返回的还是字符串类型的,所以最后的结果是
字符串类型的1undefined
例子:
var score = parseInt(window.prompt('input'));//申明一个变量score接收用户输入的值。
if(score > 90 && score <=100) {
    document.write('alibaba');
}else if (score > 80 && score <= 90){
    document.write('tencent');
}else if (score > 70 && score <= 80){
    document.write('baidu');
}else if (score > 60 && score <= 70){
    document.write('mogujie');
}else if (score < 60){
    document.write('hehe');
}else{
    document.write('error');
}
==使用else if 一定要满足条件互斥。==
if(1 > 2) {
    document.write('a');
}
1 > 2 && document.write('a');.//&&形式是一样的

循环语句

for(var i = 0; i < 10; i++) {
    document.write('a');
}

for循环执行顺序
1.var i = 0;
2.if(i < 10) {
    ducument.write('a');
}
3.i++; --> i = 1;
4.if(i < 10) {
    ducument.write('a');
}
5.i++; --> i = 2;
先执行1,判断2,执行语句,再执行3
然后判断2,执行语句,再执行3,以此类推。
知道i=10,循环终止。
有一种灵活的写法同样可以执行十次并终止循环。
var i =1;
for;i;{
    document.write('a');
    i++;
    if(i == 11) {
        i = 0;
    }
}
打印0-9的写法
var i = 1;
for(var i = 0; i < 10; i++) {
    document.write(i);
}
计算0-9的和的写法
var i = 1;
var count = 0;
for(var i = 0; i < 10; i++) {
    count += i;
    document.write(count);
}
打印100以内能被357整除的数
for(var i = 0; i < 100;i++) {
    if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) {
        document.write(i);
    }
}
拓展一下思维:例如:打印100个数。
var i = 100;
for (; i-- ;) {
    document.write(i);
}
i0就停止循环了。
while循环:是for循环的简化版
var i = 0;
for(;i < 10;) {
    document.write(i);
    i ++;
}

while(i < 10) {
    document.write(i);
    i ++;
}
写个小例子:while循环100以内逢7就打印
var i = 0;
while(i < 100) {
    if(i % 7 == 0 || i % 10 == 7) {
        document.write(i);
    }
    i++;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值