发表于: 2020-03-21 22:31:18
0 1666
一、今天完成的事情
算数运算符
/*
* 运算符也叫操作符
* 通过运算符可以对一个或多个值进行运算,并获取运算结果
* 比如:typeof就是运算符,可以来获得一个值的类型
* 他会将该值的类型以字符串的类型返回
* number string boolean undefined object
*
* 算数运算符
* 当对非number类型的值进行运算时,都会将这些值先转换为number再进行运算,除了字符串意以外
* 任何值和NaN 做运算都会得NaN
* +
* +可以对两个值进行加法运算,并将结果返回,不会对原变量影响
* 如果对两个字符串进行加法运算,,则会做拼串,会将两个字符串拼接为一个字符串,并返回
* 任何的值和字符串做运算,都会先转换为字符串,然后再和字符串做拼串的操作
* 我们可以利用这一特点,来将一个任意的数据类型转换为String,我们只需要为任意的数据类型+一个""即可将其转换为String
* 这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数
* -
* - 可以对两个值进行减法运算,并将结果返回,字符串在减法中,先转换为number再进行运算
* *
* * 可以对两个值进行乘法运算
* /
* /可以对两个值进行除法运算
* %
* % 取模运算(取余数)
*
* */
/*
* 任何值做 - * / 运算时都会自动转换为Number
* 我们可以利用这一特点做隐式的类型转换
* 我们可以通过一个值 -0 *1 /1 来将其转换为Number
* 原理和Number()函数一样,使用起来更加简单
* */
var a = 123;
var result = typeof a;
console.log(result);
console.log(typeof a);
console.log(typeof result);
一元运算符:
/*
* 一元运算符,只需要一个操作数
* + 正号
* 正号不会对数值产生任何影响
* - 负号
* 负号可以对数字进行负号的取反
* 对于非Number类型的值,
* 他会先转换为Number,然后再运算
* 可以对一个其他的数据类型使用+,来将其转换为Number
* 他的原理和Number()函数一样
* */
var result = 1 + "2" + 3;
console.log("result = " + result);
这样的情况下会输出result = 123;
var result = 1 + +"2" + 3;
console.log("result = " + result);
在字符串"2"的前面加上一个+,就会输出result = 6;这是因为+,将字符串"2",变成了Number 2.
自增和自减:
/*
* 自增和自减
* -自增
* -通过自增可以使变量在自身的基础上增加1
* -对于一个变量自增以后,原变量的值会立即自增1
* -自增分为两种,后++ (a++) 和前++ (++a)
* 无论是a++ 还是++a,都会立即使原变量的值自增1
* 不同的是a++ 和++a 的值不同
* a++ 的值等于原变量的值(自增前的值)
* ++a 的值等于原变量自增以后的值(自增后的值)
* -自减
* -通过自减可以使变量在自身的基础上减一
* -自减分成两种,后 - -(a- -)和前- -(- -a)
* 无论是a- -还是- -a都会立即使原变量的值自减 1
* 不同的是a- -和- -a的值不同
* a- -是变量的原值
* - - a是变量自减之后的值
* */
var a = 1;
a++;//使a 自增1,每调一次增加1
console.log("a = "+ a );
var d = 20;
var result = d++ + ++d + d ;
// 按照运算顺序从前往后,首先计算d++,d++等于原变量的值,所以d++ 等于20,d++ 在 d 的基础上+1,d 变成了21,然后计算++d,这时候的 d 已经自增了,变成了21,所以
//++d 就在 d 的新值21上 +1,变成了22,这是因为 ++d 等于原变量自增之后的值,然后计算第三个d ,这时候的 d 由于自增两次,变成了22,所以这个式子的计算结果就是20+22+22=64
console.log(result)
d = d++;
console.log(d);//输出结果是22,因为上面的d变成了22,新的d++,是原变量的值,所以是22,相当于给d重新赋值为22
小练习:

var n1 = 10, n2 = 20;
var n = n1++;
console.log('n='+ n ); //10
console.log('n1='+ n1); //11
n = ++n1; //12
console.log('n='+n); //12
console.log('n1='+n1); //12
n = n2--;
console.log('n='+n);//20
console.log('n2='+n2);//19
n = --n2;
console.log('n='+n);//18
console.log('n2='+n2);//18
二、明天要做的事情
继续学习
三、遇到的困难
无
四、收获
学习了新知识
评论