zoukankan      html  css  js  c++  java
  • 理解操作符

    (1)等号()和全等号(=)

    等号:等号操作符,在比较两个操作数的相等性前,先会转换操作数(自动转换),然后再比较他们的相等性。

    • 如果一个操作数是布尔值,则在比较相等性之前先将其转换为数值,false转换为0,而true转换为1.
    • 如果一个操作数是字符串,另一个操作数是数值,则在比较相等性之前先将字符串转换为数值。
    • 如果一个操作数是对象,另一个操作数不是,则调用对象的valueof()方法,获得对象本身,接着在用前面的方法进行转换比较

    全等号:直接进行比较,不转换数据类型,所以比较的时候还会比较数据类型。

    实例:
    
    "11" != 11 //false,比较前经过转换,11==11
    
    "11" !== 11 //true,因为数据类型不一样,一个字符,一个数字,当然不相等 
    

    (2) 布尔运算符

    布尔操作符一共有三个:非(NOT),与(AND)和或(OR)

    1.逻辑非(!)

    无论操作数是什么数据类型,都回返回一个布尔值。逻辑非操作符首先会将它的的操作数转换为一个布尔值(具体的转换规则看数据类型转换),然后再对其求反。

    除了以下六个值,其他都是自动转为true。

    undefined
    null
    -0
    0或+0
    NaN
    ''(空字符串)
    
    一般用于条件语句中,判断结果决定是否执行函数
    
    !!x  //等价于Boolean(x),一元!将操作数转换为布尔值并取反,在取一次反,负负得正,相当于恢复正常,但是将操作数转换成了布尔值了
    

    2.逻辑与(&&)

    只有逻辑的两个操作数同时为true才会返回true,当然了,也可以返回其它值,所以记住返回的不一定是布尔值

    一般情况下用来对真值和假值作布尔运算。
    
    实例:求两个数的绝对值和
    
    if ((a > 0)&&(b > 0)){
        return a+b;
    }else{
    return a-b
    }
    

    3.逻辑或(||)

    只要逻辑的两个操作数其中有一个为true结果就为true,当然了,也可以返回其它值,所以记住返回的不一定是布尔值

    一般用来从一组备选表达式中选出第一个真值表达式,通常用在函数体内,用来给参数提供默认值。
    
    实例:将o的成员属性复制到p中,并返回p
    function copy(o,p){
        p=p||{};//如果没有传入参数p,则给p赋值一个{}
    }
    
    e = e || window.event;如果e不存在(为null, undefined,0等)的时候,将window.event赋值给e,否则的话继续使用e。
    
    var max=max_width||preference.max_width||500;
    
  • 相关阅读:
    对象
    函数3
    函数2-作用域
    事件的分类
    函数1
    简单了解JSON Web令牌(JWT)
    Pycharm激活码,2020年9月29日最新激活码
    Python基础学习之常用模块
    python详细图像仿射变换讲解
    Python如何快速复制序列?
  • 原文地址:https://www.cnblogs.com/YeChing/p/6296600.html
Copyright © 2011-2022 走看看