JS的运算

第一节 算术运算
通过运算操作数据(事物)的行为,运算表示行为。
例:蜗牛爬井,一口井 10 米,蜗牛白天爬 3 米,晚上滑 2 米,蜗牛几天爬出?
//当前位置在井底,默认是 0
 var position = 0; 
//白天爬 3 米 
position = position + 3; 
//晚上滑 2 米 
position = position - 2; 
alert(position); //1 2 3 4 ....
//加赋值 1 表示爬行一米 
//position = position + 1; 
//position++; console.log("往上爬了"+ position + "步");
算术运算符
var y = 3;
运算符
描述
例子结果
+x=y+2
x=5
-
x=y-2
x=1
*
x=y*2
x=6

/

x=y/2
x=1.5
%取余(模运算)
x=y%2
x=1
++递增(累加)
x=++y ; x=y++
x=4 ; x=3
--递减
x=--y ;
x=y--
x=2 ; x=3
console.log('20' - '5'); //会隐式转换,结果:15,类型 number
console.log('24ad'-'12ad'); //NaN 非数字
console.log(100-""); //数字与字符串运算结果会转换数字,结果 100 
console.log(20/0); //Infinity 无穷大,类型 
number console.log(0/0); //NaN,类型 
number console.log("4"/"2"); //转数字,结果:2
console.log("8"%"3"); //转数字,结果:2 
//总结:除了+号可以做字符串连接,其它运算符基本都会做数据类型转换
运算优先级
var a = 2+3*5; //17 乘法优先级高于加法 
var b = (2+3)/(5-3); //2.5 圆括号的优先级最后
第二节 强制转换
字符串转数字 parseInt() parseFloat() isNaN()
//定义函数 
function 函数名(){ 
//方法体 -函数体 }
//点击事件 
onclick="函数名()" //当点击时 调用函数体 
----------------------------------------- 
//例:一个字符串 12 
//parseInt("12") --> 12 取整数 
var str = "12"; 
alert(parseInt(str) + 1); //13 
var str = "12px"; alert(parseInt(str)); //12 
var str= "ab 12 px"; alert(parseInt(str)); //NaN 
----------------------------------------- 
//parseFloat(); 保留小数 
var str = "12.5"; alert(parseFloat(str));//12.5 
//isNaN 判断是不是非数字,非数字返回 true 
alert(isNaN(parseInt(str))); //false 
//注意坑:isNaN()如果判断数字型字符串会有隐式转换,返回 false
数字转为字符串 toString()
var num = 123; 
var str = num.toString(); 
alert(typeof str);//string 转字符串
第三节 赋值运算
复合的赋值运算符 +=   -=   *=   /=   %=
//编程思想 
var a = 3; 
a = a + 1; 
//第一步:读取 a 的值 
//第二步:运算 a + 1 
//第三步:把运算结果写回 
a var x = 10; x = x + 2; 
//读取 x 的值,在运算 x+2,运算结果写回 x 
var x -= 2; //x = x - 2; 注意顺序 
x+=2; //x = x+2 
x-=2; 
x*=2; 
x/=2; 
x%=2;
表达式
• 包含赋值运算的语句叫表达式
• 单独的运算不叫表达式
第四节 关系运算
关系运算: > < <= >= != == === == === != !==
var a = 2; 
var b = "2"; 
var c = 2; 
console.log(a == c); //true 类型相同,值相同 
console.log(a === c ); //true 类型相同,值相同 console.log(a !== c );//false a 与 c 类型相同,值也相同,非运算肯定是 false 
console.log(a == b); //true 把 b 转换为数字,检查是否相等
console.log(a != b); //false ==的非运算 
console.log(a === b); //false 类型不同,直接返回 false 
console.log(a !== b ); //true 
//总结:==和!= 先尝试转换类型,再做值比较,最后返回值比较结果;而===和!== 只有 在相同类型下,才会比较里面的值
字符串比较
'2' == '2'; //true 两个操作数都是数字字符串,先转换成数字,再进行比较 
'a' != 'b'; //true 两个操作数是字母字符串,转成 ascii 码,再比较 
'abc' < 'aad'; //false 依次比较 ascii 码 
13 > 'abc'; //false "abc"会转成 NaN
获取 unicode 字符编码
var str = "abc"; 
alert(str.charCodeAt(0)); //97 返回指定位置的字符编码 
charAt(1); //返回字符串子串
小结: “=” “==” “===” 有什么区别?
• = 是赋值符号,是对变量所代表的内存的写的操作;
• == 忽略数据类型的判断 是否相等
• === 数值和数据类型都要相等才判断为相等
第五节 逻辑运算
//满足两个条件 
var username = "果果"; 
var password = "abc"; 
//使用 逻辑与 && 连接两个表达式 
alert(username==="果果" && password==="abc"); //true
逻辑与 &&
逻辑与 && and ) 并且的意思:若干条件中,只有都是 true 时,条件才能为真
alert(true && true); //true 
alert(true && false); //false 
alert(false && (3>4)); //false 
alert(false && false); //false
逻辑或 ||
逻辑或 || ,若干条件中,只有有一个满足,返回 true
alert(true || true); //true 
alert(false || true); //true 
alet(true || false); //true 
alert(false || (3==4)); //false
逻辑非 !
逻辑非!取反 !ture 的结果为 false !false 的结果为 true
var n1 = !true; //false 
var n2 = !false; //true 
var n3 = !!true; //true
复合逻辑表达式
//中文:user 等于小星 并且 年龄大于等于 18 或者 地址是中国并且密码是 123; 
(user=="小星")&&(age>=18 || addr=="中国")&&(pwd==123);
第六节 三元运算
根据不同的条件去处理不同的结果
条件运算符 ?:
-5 5 一元运算
3+5 二元运算
三元运算符: ( 比较表达式 ) ?结果 1: 结果 2
//输出最大值 
var num1 = 3; 
var num2 = 5; 
var max = num1>num2?num1:num2; 
console.log(max);
第七节 隐式转换
+ 号在不同情况下的区别
console.log(3 + 5 + "hello"); //8 hello 
console.log("hello" + 3 + 5); // hello 35

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值