JS基础二

来源:互联网 发布:怎么建立淘宝店铺 编辑:程序博客网 时间:2024/06/18 09:22

1.算术运算符与表达式

常见的运算符:+ - × ÷;

由于我们日常用的一些运算符号在键盘上并没有,所以会将一些键盘上没有的运算符替换;

JS中的常见运算符:+ - * /;

加法运算:+

var weight = 65;
weight = weight +10;
alert(weight);

字符串拼接

vardogname = "张三";
dogname = dogname + "丰";
alert(dogname);

减法运算:-

varnum = 34;
var num1 = 56;
alert(num1 - num);

乘法运算:*

varnum = 34;
var num1 = 56;
alert(num * num1);

除法运算:/

varnum = 50;
var num1 = 25;
alert(num / num1);

这些运算方式和日常生活中使用的运算方法一样,只不过是表现的形式不同。

取余运算符:在JS当中用%表示;作用:得到两个数的余数。

varnum1 = 10;
var num2 = 3;
var result = num1 % num2;
alert(result);

使用技巧:可以解决周期性问题。

vardate = 2;
date = date + 12 % 7 ;
alert(date);

例:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        #div1{
            height: 100px;
            width: 100px;
            background: rgb(225,0,0);
            margin: 0 auto;
          
        }
    </style>
</head>
<body>
    <div id="div1" ></div>
</body>
<script language="javascript">
    var timer = setInterval("zoom()",50);
    var div = document.getElementById("div1");
    var width = 200;
    var a = 225;
    var b = 0;
    var c = 0;
    function zoom(){
       /* if(width >= 600){
            clearTimeout(timer);
        }*/
        width = (width + 5) % 600;
        div.style.width = width + "px";
        div.style.backgroundColor = "rgb("+a+","+b+","+c+")";
      //fz = fz + 5;
        /*a =  a + 5;
        b = b +3;
        c = c + 4;*/

    }
</script>
</html>

这个例子就是使用取余运算实现颜色框的周期性。

++:自增

本身是可以不存在,使用基本运算就能代替。他存在的唯一价值就是简便,快捷。

num++ 和 ++num 的区别

num++ 是先用再加

varnum1 = 1;
alert(num1 ++);

等价于:

Var num1 = 1;

Num1 = num1 + 1;

Alert(num1);

++num 是先加再用

2.关系运算符与表达式

生活中常见的关系运算符:

大于  小于  等于  大于等于  小于等于  不等于   绝对相等    绝对不相等

而JS中这些运算符一些键盘中没有的也是使用其它符号代替;

>(大于)  <(小于)   ==(等于)     >=(大于等于)   <=(小于等于)   !=(不等于)  ===(绝对相等)  !==(绝对不相等)


3.逻辑运算符

与:&&

两者同时成立结果才成立;第一个关系式true 第二个关系也是true 那么结果才是true。

如果有一个或多个为false时,结果为false。

varnum1 = 10;
var num2 = 20;
alert(num1 < 20 && num2 > 10);

或:||

至少有一个成立,那么结果成立

就是一个关系为true 那么结果就为true

//或
var num1 = 10;
var num2 = 20;
alert(num1 > 20 || num2 >10);

非:!

结果为原身的对立面,就是当关系成立时,非之后就变为不成立。

非true之后 结果为false

varnum = 10;
alert(!(num > 10));


4.赋值运算符与表达式

将一个数据赋值给一个变量

复制运算是表示将一个数据存储到某个内存单元中(变量)。

var num =10; //将10赋值给num

复合赋值运算符:

+=

num= num + 10;
num += 10; //两者完全等价

-=:

varnum = 34;
var num1 = 21;
alert(num -+ num1);

*=:

varnum = 23;
var num1 = 2;
alert(num *+ num1);


/=:

varnum = 40;
var num1 = 2;
alert(num /= num1);


5.位运算符与表达式

如何得到一个数的二级制。

var num= 5;
//101
alert(num.toString(2));

同理得到一个数其他进制数,改变.toString里面的值

首先要把数转化为二进制数。

运算法则,只有两者同时为1时结果才为1.其余结果均为0

按位运算,不足的在二进制前补0。例如:计算5和6的与运算

5:    101

6:    110

结果:100

var num1= 5;
var num2 =6;

alert((num1&num2).toString(2));

或 两个数有一个为1那么结果就为1然后按位运算

var num1= 5;
var num2 =6;
//101
//110
//111
 
alert(num1.toString(2) |num2.toString(2));

 

异或 两个值相同时结果为0 两个值不同时结果为1

var num1= 5;
var num2 =6;
//101
//110
//011
 
alert(num1.toString(2) ^num2.toString(2));

按位与运算的作用:

(1)  测试某一位是0还是1;

1100010000101011

0000000000001000

(2)设置某些位为0

         1100010000101011

         1111111111110111

x&1 = x (x表示一位二进制,可能是0或者1)

x&0 = 0

按位或运算的作用:设置某些位为1

1100010000101011

0000000000010000

x|0 = x

x|1 = 1

异或运算的作用

x^1 = x(反)

x^0 = x




原创粉丝点击