关于一些JS的运算符

首先呢,什么是JavaScript;JavaScript是一种脚本语言,也是一种解释型语言,更是一种由数据值决定变量类型的弱类型语言

JavaScript主要由三部分组成

ECMAScript  这个是组成部分的核心

DOM   和    BOM

变量的定义是在内存中声明的一段可以存储可以变化的量

1.赋值运算符

  语法为    x+=y   其等价于    x=x+y

  其他算法与加法的语法相同

  var b = a + b;

  var b+=a;

2.关系运算符

  string与number判断大小时,首先将字符串string隐式转换为number类型,用的是认的Number()函数

  Number()函数只能转化纯数字的数值,当其中夹杂着非数字时,例如30a,则转换结果为NaN

  任何一个数据与NaN做比较时,得到的结束一定都是false

  string字符串与string字符串之间比较大小时,比较的方法是根据每一个字符的Unicode码来做比较

3.逻辑运算符

   用于多个条件之间的判断关系

   &&  多个条件都必须满足

          其短路逻辑为:当有一个条件出现false时,后面的条件便不会判断

   var a = prompt(‘请输入价格‘);

     a >= 100  &&  (a = a * 0.8);

     console.log(‘付出的价格为:‘ + a); 

   ||   满足其中一个条件

          其短路逻辑为:当有一个条件出现true时,后面的条件便不会判断

     var a = prompt(‘请输入留言‘);

     var result = a ||  (‘主人正在忙,请您留言‘);

     console.log(result); 

  !  取反

     var  a  =  prompt(‘ 请输入一个数据‘);

     console.log(‘是不是一个数:‘+ !isNaN(input) );

4.位运算符

  位运算在运算时一定会将数据转为二进制,而小数会被转换成整数

  按位且  &  通常与二进制的1一起使用,用于判断数据的奇偶性

  var input = prompt(‘ 请输入一个数‘);

  var result = input & 1;

  result = 0?  ‘为偶数‘ : ‘为奇数‘ ;

  console.log(result);

  按位或  |   通常与二进制的0一起使用,用于number数据的向下取整

  <<  按位左移     将二进制向左移动,移动多少位就在二进制最右边补上几个0

  >> 按位右移      将二进制向右移动,当数据被移除二进制最后一位数,数值为0

  ^  异或  将两个需要运算的数字转换为二进制,在同一位置上只有一位数字为1的时候得到的值为1,否则为0

         也可用于交换两个数值之间的计算

 5.条件运算符    三目运算

   单目运算符   ++   --   !

   双目运算符  +   -   *   /   %    &&   ||   ^    &   |    <    >  

  三目运算符  表达式为:   表达式1?表达式2:表达式3;

                      当表达式1成立时,输出表达式2,否则输出表达式3 

                     其中表达式1的结果为Boolean类型,表达式2表示true,表达式3表示false 

      var input = prompt(‘请输入您的成绩‘);

      input >=60?  ‘及格 ‘  :  ‘未及格 ‘  ;

   console.log(input);

最后呢,再写一下浏览器的内核与引擎

                                                 内核名                       排版引擎                          脚本解释引擎

IE                            Trident                       -(内核自带)                     Chakra

Firefox                     Gecko                               -                                   Monkey

Safari                      Webkit                         Webcore                            Nitro

Chrome                   Webkit                         Webcore                             V8

Opear(2013年之前)                     presto                               -                                 Caraken

Opear(2013年到如今)                 Webkit                          Webcore                            V8 

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...