27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]
E-mail:mzze@163.com
Q Q:32362389
W X:xiaomi168527
27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]
大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]
E-mail:97157726@qq.com
Q Q:97157726
//数据类型转换 //1.字符串的转换 string let num=10; let str = 10 + "1"; console.log(typeof str) //结果为 string 字符串类型 数值+文本类型为文本类型 let str1 = num.toString(); //数字转换为string属性方法1,结果为string console.log(typeof str1); // let str2 = 10.toString 不能写10,只能写变量 let str3 = String(num); //num为转换为string类型方法2,结果 string //2.数据类型的转换 number let strNum1 = "6"; let strNum2 = "2"; console.log(strNum1 + strNum2) //结果为62 因为+号除了算术运算符外还有拼接功能 console.log(typeof (strNum1 + strNum2)) //结果为string console.log (strNum1 - strNum2) //结果为4 减号只有算数运算符功能 相当于console.log(Number(strNum1) - Number(strNum2)) console.log (typeof (strNum1 - strNum2)) //结果为number console.log(Number(" ")) //结果为0,number会把空字符当成0转换 console.log(" 123 ") //结果为123 console.log(Number(" 123z ")) //结果为NaN,转换不了 console.log(Number(true),Number(false)) //转换结果为1,0 true对应1,false对应0 console.log(true + true + true) //转换结果为3,没有出现文本,+法就做数学运算操作 console.log("1" + true + true + true) // 结果为 1truetruetrue 有文本,拼接操作, console.log(true + true + true + "好" ) //结果为3好 console.log(true + true + "好" + true ) //结果为2好true number(true) + number(true) + string(好) + string(true) console.log(true - true - true) //结果为-1 // parseInt parseFloat let str11 = "10"; let str12 = "20"; console.log(parseInt(str11) + parseInt(str12)) // 结果30 let str13 = "10abc" console.log(parseInt(str11) + parseInt(str13)) //结果20 ,parseInt对于字符串只会转其开头包含的数字 常用,如果要取width:30px,可以直接用parseInt提取30 let str14 = "a10bc" console.log(parseInt(str11) + parseInt(str14)) //结果为NaN,因为a10bc开头不是数字,所以无法转换 // 3.布尔类型 console.log(Boolean(1)); //结果为ture console.log(Boolean(0)); // 结果为 false console.log(Boolean("hello")); //结果为ture 有值的东西都为ture console.log(Boolean(" ")); //结果为ture 默认也是有值的 空格 console.log(Boolean("")) ; //结果为false 没有值 0 空字符串 null undefined NaN = false //4.算术运算符 // (2)一元运算符 二元运算符 let x= 1; x=-x; console.log(x); //结果为-1 ,因为-号是一元运算符 let y = 2; console.log(y-x); //结果为3,因为是2个变量是二元运算, // 求幂 ** a**b,相当于a 乘以 自身的 b次方 console.log(2**4) //结果 16 2*2*2*2=16 //测试 console.log(2+2+"1") //结果41 因为+号除了算术运算符外还有拼接功能 console.log(6-"2") //结果4 减号只有算数运算符功能 相当于console.log(Number(strNum1) - Number(strNum2)) console.log("6" / "2") //结果为3 除号只有算数运算符功能 相当于console.log(Number(strNum1) - Number(strNum2)) //(2)自增 自减 运算符 //++i i先自增在赋值, i--,i先赋值在自增 每次+1 let i = 0; let b = i ++; console.log(b,i) //结果b=0,i=1 先赋值在自增 let d = ++i; console.log(d,i) //结果d=2,i=2 先自增在赋值 let f = 1; console.log(2*++f) //结果4 //(2) 赋值运算符 = += -= *= let a2,b2,c2; a2=b2=c2=2+2; console.log(a2,b2,c2) ;//结果都是4 //d2+=2 d2 = d`12+2 每次+2 d2*=2 即 d2=d2*2 //逗号运算符 在phython叫元祖 let a=(3+4,1+2); //结果3,逗号运算符永远是取最后一个 console.log(a) //小练习 let a3=1,b3=1; let c3=++a3; let d3=b3++; console.log(a3,b3,c3,d3) //结果 2,2,2,1 console.log(""+1+0) //结果"10" console.log(""-1+0) //结果-1 console.log(true+false) //结果1 console.log(6 / "3") //结果2 console.log("2" +"3") //结果23 console.log(4+5+"px") //结果9px console.log("$" +4 +5) //结果"$45" console.log("4"-2) //结果2 console.log("4px"-2) //结果NaN console.log(7/0) //结果Infinity 无穷大 console.log("-9" +5) //结果 "-95" console.log("-9" - 5 ) //结果为-14 console.log(null+1) //结果为1 number(null) 转换为0 console.log(undefined +1) //结果为NAN number(undefined) 转换为NAN console.log("\t \n" - 2) //结果为-2 //关系运算符 > < >= <= a==b !==不登 判断a是否等于b,最少要两个== //关系运算符产生的结果都是布尔类型 true false //字符串比较 console.log("z" > "a") //true 字典序 阿斯克码表对比 Z确实在a后面 所以大于是真 console.log("Glow" > "Glee") //多个字母对比 一个一个字母对比 g=g,l=l,0>e ,所以也是true console.log("Bee" > "Be") //true 多一个肯定大 console.log("Bee" > "Ce") //false 因为第一个小 //不同类型之间的比较 console.log("2">1) //true console.log("0">1) //false console.log("01"==1) //true console.log(true==1) //true console.log(false==0) //true let a5=0,b5="0"; console.log(Boolean(a5));//false console.log(Boolean(b5));//true console.log(a5==b5); //true //js会把等值比较的值,转换成数值在比较,null不会进行转换 console.log(""==false);// true 没有值 0 空字符串 null undefined NaN = false console.log(0 == false); //true //js会把等值比较的值,转换成数值在比较 ,注意:null不会进行转换 console.log(null==undefined) //true 因为都是fasle boolean(null) console.log(Number(null)) //结果0 number(null)=0 console.log(null>0) //false number(null)=0 console.log(null==0) //false 个例,null不会进行转换 console.log(null>=0) //true 因为>=会做数据类型转换,必须做,==于null不会 console.log(undefined >0) //undefined和谁比都是false console.log(undefined == 0) //undefined和谁比都是false console.log(undefined>=0) //undefined和谁比都是false //全等 === 不全等!== console.log(a5===b5); //false 全等不进行数据类型转换 console.log(null===undefined) //false 因为数据类型不同 //练习2 console.log("apple" > "pineapple") //false console.log("2" > "12") //true ascii表对比,因为2>1 所有true console.log(undefined == null) //true console.log(undefined === null) //false console.log(null=="\n0\n") //false //js会把等值比较的值,转换成数值在比较,null不会进行转换 console.log(null===+"\n0\n") //false console.log(null <= +"\n0\n") //true
本站内容均为小米原创,转载请注明出处:小米技术社区>> 2第四阶段10 javascript类型转换和各种运算符