运算符

运算符

1、"+"、"-"、"*"、""运算符
  • "+"号运算符
    • "+"如果左右没有出现字符串则为加号,如果有一方为字符串则为字符串拼接。
    • 在"+"算式中从左往右没有出现字符串之前为数值之间的计算,出现字符串之后都为字符串之间的拼接。
    • ++i先自增再使用,i++先使用再自增
    • a=a+1与a+=1一样
    • "+"如果左右没有出现字符串则为加号,如果有一方为字符串则为字符串拼接。
    • let account = "李强"; let age = 18; let gender = "male"; let marry = false; let F68; let F69 = " 1 "; console.log("大家好:我叫"+account+",今年"+age+"岁,至今"+marry+"婚"); console.log(大家好:我叫 a c c o u n t , 今 年 {account},今年 account,{age}岁,至今${marry}婚); // 只有字符串才能.length console.log(account.length,age.length,marry.length); console.log((typeof F68).length); console.log((typeof F69).length,F69.length);
比较运算符
  • <==>=<=。

  • ===全等符,!==不全等
console.log(1===1);//true
console.log(1!==1);//false
console.log("1"!==1);//true
console.log("1"===1);//false
逻辑运算符
  • && 与运算符:一假全假
  • || 或运算符:一真全真
  • ! 非运算符:真变假,假变真
let i = 0;
let j = null;
let k = undefined;
let h = 1;
// 一假全假,只要有一个是假则返回当前元素值,否则返回比较之后的元素
console.log(i && j);//2
console.log(i && j && k);//3h
console.log(i && j && h && k);//0

// //一真全真
console.log(i || j);
console.log(i || j || k);
console.log(i || j || k || h);
let a = "123";
a = a + 0;
// 把字符转换成数值
let b = a - 0;
console.log(typeof b,b);

数值中除了0和NaN其余全为true
let i = NaN;
console.log(typeof i);
if(i){
    console.log(1);
}else{
    console.log(0)
}
三目运算符
  • 书写格式:条件 ? 表达式1 :表达式2
  • 功能:条件为真,执行表达式1,条件为假,执行表达式2
let i = 1;

i ? console.log('F68'):console.log('F69');

两个数输出最大的数
let num1 = 1;
let num2 = 2;

num1>num2 ? console.log(num1):console.log(num2);

三个数输出最大的数
let num1 = 1;
let num2 = 4;
let num3 = 3;

num1>num2 && num1>num3 ?  console.log(num1):num2>num1 && num2>num3 ? console.log(num2):console.log(num3);
强制转换
  • 隐式转换
    • console.log(true==1); console.log("a"<"b"); console.log(1+2+3+"5"); console.log(true-1);
  • 字符串转数值
    • 变量 - 0;
    • Number(变量):值为数值或NaN
    • parseInt(变量)/parseFloat(变量):
      • 获取第一个数字到第一个非数字之间的内容。
      • 第一个字符如果是0或空格,会自动无效。
      • 如果第一位不是数字、+、-、空格,就会返回NaN。
      • 适用场景:获取标签尺寸(px\rem\em)
// let i = "123";//123
// let i = "abc";//NaN
// let i = true;//1
// let i = undefined;//NaN
// let i = null;//0
// let F68 = Number(i);

// let i = "a100px200";//NaN
// let i = "100px200";//100
// let i = "0100px200";//100
// let i = "1 100px200";//1
// let i = "-10.100px200";//-10
// let F68 = parseInt(i);//主要功能为当字符串中的数值为浮点时取整,当字符串中的数值有字母时按位比较找到第一个非数字为止取整。

let i = "123.007.21px"
let F68 = parseFloat(i);//123.007
let F69 = F68.toFixed(2);//123.01//保留2位小数,四舍五入,数据类型变为string
// let F69 = Math.ceil(F68);//124//向上取整
// let F69 = Math.floor(F68);//123//向下取整,标签取整建议使用
// let F69 = Math.round(F68);//123//四舍五入取整
console.log(typeof F68,F68,typeof F69,F69);
  • 练习parseInt判断纯数字
let str = "127123.32qwe";
// console.log(str==str);//判断非数字
console.log(str == parseInt(str));
console.log(String(parseFloat(str)).length, str.length, String(parseFloat(str)).length == str.length);
  • 转换为字符串
    • 数值转换
      • 变量+"";
      • String(变量)
      • 变量.toString(进制)
    • 布尔转换
      • String(变量)
let num = 10;
let F68 = String(num);
console.log(typeof F68,F68);
F68 = num.toString(2);//2二进制,8八进制,默认为10进制,16十六进制
console.log(typeof F68,F68);
// String和toString的区别:1、书写方式:String(要转换的变量)toString(进制):(null和undefined没有toString方法)
  • 转布尔
    • 数值转换:加(!! )
let num = 1;
console.log(!!num);

console.log("1">"8");
console.log("10">"8");//按位比较ASC码
console.log("10">8);//隐式转换再比较数值
console.log(NaN>8);//NaN和任何类型比较都是False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值