zoukankan      html  css  js  c++  java
  • js中的操作符

    写在前面

    js语法

    DOM对象(把body,div,p等节点树看成一个对象)

    BOM对象(把浏览器的地址栏历史记录DOM等装在一个对象)

    浏览器是宿主,但js的宿主不限于浏览器,也可以是服务器,如node.js。

    运算符:

    //js中拼接运算符
    console.log(2+3);
    console.log('hello'+''+'world');
    console.log(2+3+4+'haha'+5+6);//9haha56,一旦碰到非法数字后,后面的一律理解为“拼接”

    例如

    var num1=5;
    var num2=10;
    var message="The sum of 5 and 10 is"+num1+num2;
    alert(message);//因为每个+都是独立的,第一个将字符串与数值5拼接,第二个又与10拼接,因此结果The sum of 5 and 10 is 510

    var message="The sum of 5 and 10 is"+(num1+num2);
    alert(message);//此时The sum of 5 and 10 is 15

    //js中逻辑运算

    都遵循的规则

    逻辑与操作符&&

    1如果第一个操作符是对象,则返回第二个操作数;

    2如果第二个操作数是对象,则只有在第一个操作数求值结果为true的情况下才能返回该对象;

    3如果两个操作数都是对象,则返回第二个操作数;

    4_&&null   -null

    5_&&NaN -NaN

    6_&&undefined -undefined

    属于短路操作,即如果第一个操作数能够决定结果,那么就不会对第二个操作数求值

    var found=true;
    var result=(found&&s);//这里会发生错误
    alert(result);//这里不会执行


    var found=false;
    var result=(found&&s);//不会发生错误
    alert(result);//会执行(“false”)

    因此逻辑与操作中不能用未定义的值(s未定义),使用之后就会发生错误。

    逻辑或操作符||

    1如果第一个操作符是对象,则返回第一个操作数;

    2如果第一个操作数求值结果为false,则返回第二个操作数

    3如果两个操作数都是对象,则返回第一个操作数;

    4null||null   -null

    5NaN||NaN -NaN

    6undefined||undefined -undefined

    返回的是最早能判断表达式结果的那个值
    var a=false;
    var b=6;
    var c=true;
    var d=(a||b||c);
    console.log(d);//6

    在源码中经常用window.hello=window.hello||window.world;哪一个为真就把哪一个值赋给window.hello

  • 相关阅读:
    编程之美 2014资格赛 格格取数
    ios游戏开发--cocos2d学习(1)
    ios开发中常用的也是最基本的mysql语句
    无限树形结构的数据库表设计
    认真的辞职
    几种JavaScript富应用MVC MVVM框架
    javascript创建对象和属性的几种方式
    webresource.axd文件的配置及使用
    ITextSharp用来生成 PDF 的一个组件
    flexpaper 开源轻量级的在浏览器上显示各种文档的组件
  • 原文地址:https://www.cnblogs.com/autismtune/p/5159507.html
Copyright © 2011-2022 走看看