您的位置: 首页 > 常识 >

逻辑与运算规则(web开发之-js逻辑与运算)

100次浏览     发布时间:2024-11-15 10:24:39    

算术运算符

var a = 10;
var b = 2;
//加法运算  +
console.log(a+b);
//减法运算  -
console.log(a-b);
//乘法运算  *
console.log(a*b);
//除法运算  /
console.log(a/b);
//取余运算  %
console.log(a%3);
//赋值运算 同样的可以适用于 以上的其他运算符
b += 2;
console.log(b); 
//自增运算
console.log(a++);
console.log(++a);
//自减运算
console.log(a--);
console.log(--a);

注:以上大家要注意自增和自减时的++和--在前后的区别

第17行,console.log(a++);这里先输出a的值,然后执行a++;

第18行,console.log(++a);这里先运行++a,然后再输出a;

比较运算符

var a = 10;
var b = 2;
console.log(a>b);
console.log(a<b);
console.log(a=="10");
console.log(a==="10");
console.log(b!="2");
console.log(b!=="2");
console.log(a>=10);
console.log(b<=2);

注:

以上我们需要注意的是 == 和 === 的区别,虽然js是弱类型的,但是,并不是代表js没有类型,==不会进行类型的判断,会自动进行转换,而=== 确会先进行类型的判断。同样的 != 不会进行类型的判断,而 !== 会进行类型的判断。

var a = 10;
var b = 2;
console.log(a && b);
console.log( 0 && a );
console.log(a || 0);
console.log(0 || a);
//
1 && console.log("9");
0 && console.log("99");
1 || console.log("999");
0 || console.log("9999");


注:看以上的 && 和 || 运算,&& 判断两个是不是为真。||判断是不是某个为真值

看后面的带有输出的,我们可以知道,&&运算当第一个为假的时候,就不会进行第二个运算;||运算当第一个为真的时候,就 不会运行第二个运算;

条件判断

var a = 10;
if(a>100)
{
    console.log("a大于100");
}else if(a>9){
    console.log("a大于10");
}else{
    console.log("a是其他的值");
}

注:

if(真){为真时的执行语句}else{不为真的执行语句};用来基本的逻辑判断;

var c = Math.round(Math.random()*3);
switch(c)
{
    case 0:
        console.log("我是0");
        break;
    case 1:
        console.log("我是1");
        break;
    case 3:
        console.log("我是3");
        break;
}

注:以上我们刷新界面会输出不同的值,我们Math.random()随机取一个0到1的值;Math.round()是进行四舍五入的运算;

switch....case....会依据switch里面的值,选择对应的case进行执行;如果想要有一个默认的值,可以 使用default。

循环语句

var arr = [1,22,333,4444,55555];
for(var i=0;i<arr.length;i++)
{
    console.log("我是第"+i+"个索引,值为:"+arr[i]);
}
arr.forEach((item,index)=>{
    console.log("第"+index+"个索引的值为:"+item);
})
arr.map((value,index,array)=>{
    console.log("哈哈,输出第"+index+"个  "+value);
})
var result = arr.filter((value,index,array)=>{
    return value>100;
})
console.log(result);
var a = 10;
while(a>0)
{
    a--;
    console.log(a);
}
console.log("分割线**********************************");
a = 10;
do{
    a--;
    console.log(a);
}while(a>0)

注:

for循环:for(var i=0;i<arr.length;i++){...} 如果i小于arr.length,则会执行大括号{}里的内容;

forEach循环:arr.forEach((item,index)=>{}) 这会依次拿出arr里的值传到函数中进行执行,参数item为arr取出的值,index为当前值的索引,(item,index)=>{}是js中函数的简写,等行function (item,index){}

map:和forEach的用法差不多。

filter:我们通过英文意思知道这是过滤的意思,这个里面写一个函数,依次把arr取出的值传递进行,如果这个函数里的返回值大于1,那么当前的 取出的arr的值就会放到返回的强果数组中。

while()do{}和do{}while():这两个都是如果while为真,则会执行do后面大括号里的语句。差别是do...while.会先执行再判断;而while ...do...先判断再执行。

相关文章