大家好,今天再给大家分享一下js学习心得。
先给大家讲一下基础的把,今天就从算术运算符开始给大家讲解。
在js里面基础的运算符有+ - * /
就以加法为例,给大家示范一下:
varweight=65;
weight=weight+10;
alert(weight);
输出结果就是75,在这里“+”的作用是使两个数值相加
在字符串里面的作用就是 把两个字符串拼接起来
例:
vardogName ="张三";
dogName = dogName+"丰";
alert(dogName)
输出结果为:张三丰
好了,其他三种就不 一一给大家赘述了。
在这里还有一个特殊的,功能又使用的运算符,那就是%,我们称之为取余,也有人称为取模。
例如:
var num = 10;
var num1 = 3;
var result = num%num1;
alert(result);
输出结果为1
特的强大之处在于可以很巧妙的解决一些周期性问题。
例如:
vardate=1;
date=12%7+1;
alert(date);
输出结果为6,这就可以解决比如今天是周一,12天之后是周几的问题。
有些人为了使自己的代码更加简洁,就会使用这样一种写法——i++
现在这里说明一下,i++和--i本身是不存在的,使用基本运算就可以进行代替,在这里存在的唯一价值就是更加简便,更加简洁。
说说i++和++i的区别吧,
i++:先用后加
++i:先加后用
再给大家介绍一下关系运算符与表达式
生活中常见的关系运算符 > < = <= >= !=
判断两个数是否相等,使用两个等号,与生活中常识不符合,在这里有个坑就是习以为常地使用一个等号,这种做法是错误的。
在这里可以给大家介绍一个小技巧 就是把数值写在前面,变量写在后面,这样可以有效的规避错误,形如 90==a
这样你忘写了一个等号编译器会报错。
绝对相等,就是变量的值和类型都相等,使用===来表示。
绝对不相等,就是变量的值都不相等,使用!==爱表示。
下面就是逻辑运算符与表达式了。
主要分为 与 或 非这三种。
与:两者同时成立,结果才相等,用&&表示。
例:
varnum1=10;
varnum2=20;
alert(num1<20&& num2>10);
显示为true;
或:至少有一个成立,那么结果才成立,用 | (单竖杠),也可以用 || 表示。
varnum1=10;
varnum2=20;
alert(num1>20|| num2>10);
显示为true;
非:结果为原身的对立面,就是当关系成立时,非之后就变为不成立,非true之后结果变为false;
例:
varnum1=10;
alert(!(num1==10));
赋值运算符
赋值运算就是表示一个数据存储到某一个内存单元中。
解释:就是把一个值赋值给变量
复合赋值运算符
++、+=
+=和++一样,可以完全不存在,完全可以由普通运算符取代,存在的唯一价值就是使代码简洁方便。
注意:如果对于符合赋值运算符不熟悉就不要使用,直接使用普通运算符。
最后给大家介绍一下位运算符与表达式。(难点)
怎样才能得到一个数的二进制呢?
就是使用
alert(变量名.toString(2));
如果想要得到一个数的其他进制,只需要改变toString(进制名)里面的进制名就可以了。
首先要把数转化为二进制,运算法则,只有两者同时为一,那么结果才为1,其余结果均为0
与:&
varnum1=5;
varnum2=6;
varnum3=3;
alert(num1.toString(2) | num2.toString(2));
5: 101
6:110
结果为:
100
或:两个数有一个为1,那么结果就为1,然后按位运算 符号: |
varnum1=5;
varnum2=6;
varnum3=3;
alert(num1.toString(2) | num2.toString(2));
对照上面结果为:111
异或:两个值相同时为0,不同时为1,
varnum1=5;
varnum2=6;
varnum3=3;
alert(num1.toString(2) | num2.toString(2));
结果为:011
异或:两个值相同时为0,不同时为1 符号为:^
异或运算的作用:
x^1=*(反)
x^0=x
按位与运算可用于测试某一位是0还是1;
1100010000101011
0000000000000111
设置某一位为0
1100010000101011
1111111111110111
按位或运算的作用:设置某些位为1
1100010000101011
0000000000010000