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.原始类型方法 let obj = { } let str = "Hello"; let num1=1.23333; //当我们使用值类型.的时候,js引擎会自动包装这个类型 str.txet="好利好"; //会报错吗? 结果不会 返回undefined //等同于 new String(str).text = "xxx"; //不会报错 console.log(str.text) str.toLowerCase() //把字符串转换为小写 num1.toFixed //把 Number 四舍五入为指定小数位数的数字 new String(str).toLowerCase() console.log(typeof num1); //结果number console.log(typeof new Number(1)); //结果 object //2.数值类型 javascript //科学计数法 let billion = 100000000; //上面等同于 在程序中的写法 let billion2 = 1e9 //数字1后面9个0 //如果表示73亿 console.log(7.3e9) console.log(1e3) //1*1000 //1微妙, 百万分之一秒 let ms=0.0000001; //等同于 let ms2=1e-6 //小数点后面6位 //进制 2-36位进制 逢几进一 console.log(0xff); //结果255 console.log(0xFF); //结果也是255 //2进制 console.log(0b11111111); // 结果 255 0b表示2进制 //8进制 console.log(0o377);//结果255 0o表示8进制 //进制转换 let num=255; //想要转换成16进制的 toString() 方法可把一个 Number 对象转换为一个字符串 console.log(num.toString(2)) //转换成2进制 console.log(num.toString(8)) //转换成8进制 console.log(num.toString(16)) //转换成16进制 console.log(num.toString(36)) //转换成36进制 //3.小数 // console.log(123456.toString(2)) 会报错 因为数字有小数点,必须是变量才可以 console.log(123456..toString(2)) //结果正确,因为不可能有2个小数点 //引擎会做这么一件事 console.log(Number(123456.).toString(2)) //小数舍入 四舍五入 变成整数 // 小数向下舍入 即向小舍入 Math.floor console.log(Math.floor(3.1) )//3 console.log(Math.floor(-1.1) )//-2 //小数向上舍入 即向大舍入 Math.ceil console.log(Math.ceil(3.1)) //4 console.log(Math.ceil(-3.1)) //-3 //想最近的整数舍入 Math.round() console.log(Math.round(3.1))//结果3 console.log(Math.round(3.49)) //结果3 console.log(Math.round(3.5)) //结果4 console.log(Math.round(3.51))//结果4 console.log(Math.round(-2.1)) //结果-2 //移除小数点后的所有内容 Math.trunc() 注意:老式IE不支持,新浏览器都支持 console.log(Math.trunc(3.9))//结果3 console.log(Math.trunc(-1.366)) //结果-1 //1.2345 舍入到1.23 let num2 = 1.2345; console.log(Math.floor(num2 * 100) / 100) //方法一 1.2345*100=123.45 floor后是123,除以100就是1.23 console.log(num.toFixed(2)) //方法二 toFixed 是 把Number 四舍五入为指定小数位数的数字,注意此方法不太适合,因为他会四舍五入 console.log(0.1+0.2==0.3) //结果是false //原因 console.log(0.1.toFixed(20)) //结果是0.10000000000000000555 后面的555是什么东西?因为2进制表示不了 console.log(0.2.toFixed(20)) //结果是0.20000000000000001110 console.log(0.3.toFixed(20)) //结果是 0.29999999999999998890 let num3 = 0.1+0.2; console.log(num3.toFixed(20)) //结果是0.30000000000000004441 // 现在必须让num3等于0.3 console.log(num3.toFixed(1)) //方法1 只保留2位即可 简单粗暴 但是有些地方会出问题 console.log((0.1*10+0.2*10)/10) //方法2 如果是2位的就除以100 这样可以保证运算出来的结果没有误差 //看看方法1出错的示例 let num4=1.35; let num5=6.35; console.log(num4.toFixed(1))//结果 1.4 console.log(num5.toFixed(1))//结果不是6.4 是6.3,为什么 console.log(num5.toFixed(20)) //结果 6.34999999999999964473,精度缺失,刚好小了,所以它是6.3 //解决方法 让它成为6.4 console.log(Math.round(num5*10)/10) //round会把他变成64,在除以10就是6.4 console.log((num5*10).toFixed(20)) //63.50000000000000000000 后面精准 //isNaN console.log(NaN == NaN) //false console.log(isFinite("ab")) //结果false isFinite代表是否可以转为数字 console.log(isFinite("123")) //结果true //随机数 console.log(Math.random()); //random() 方法可返回介于 0 ~ 1 之间的一个随机数 默认小数点后16位 console.log(Math.trunc(Math.random()*10)) //可以取10以内的整数 不包含10 console.log(Math.trunc(Math.random()*100)) //可以取100以内的整数 不包含100 console.log(Math.ceil(Math.random()*5)) //乘以几就取0-几的随机数 console.log(Math.floor(Math.random()*5)) //乘以几就取0到几-1的随机数 function random(minNum,maxNum){ //Math.randow() 0-1 随机数*4 //取整数的几种方式 parseInt() Math.floor() 向下 Math.ceil() 向上 Math.trunc() 去小数点 return Math.floor(Math.random()*(maxNum - minNum+1) + minNum) } console.log(random(5,10)) //5-10随机 //字符串 //1.js字符串转义符 let str2 = "12\n12" // \n是换行符 console.log(str2) console.log("\\,\',\",\t",1) // \\输出的是一个反斜杠 \'输出的是单引号 \"输出的是双引号 \t空4个字符,也相当于TAB let ustr="\x7a"; //结果z console.log(ustr) let obj2 ={ '\x61\x62\x63':"hello" //abc hello } console.log('\x61\x62\x63') //转义abc \x开头 由 2 位十六进制数值 XX 指定的 Latin-1 字符 console.log('\u00a9') //转义版权符 \u 开头由 4 位十六进制数值 XXXX 指定的 Unicode 字符 console.log('\251') //也是版权符号 \3位数字 由 1~3 位八进制数值(000 到 377)指定的 Latin-1 字符,可表示 256个 字符。如 \251 表示版本符号。注意,ECMAScript 3.0 不支持,考虑到兼容性不建议使用。 console.log('\u{1F60F}') //结果表情符号 console.log('\u{20331}') //结果是文字 位数是1-6位 //字符串取最后一个字符 let str10="Hello"; console.log(str10[str10.length - 1]) //取最后一个字母 console.log(str10[1000]) //会不会报错?索引溢出了 结果undefined str10[1]="c" //会不会把hello换掉 结果是 hello,因为字符串是只读的 //字符串迭代 for of 迭代字符串 for (const iterator of str10) { console.log(iterator) //会一次打印出hello } let obj3 = { from:1, to:5 } let str11="Abc" console.log(str11.toLowerCase()) //把大写转成小写 console.log(str11.toUpperCase()) //把小写转成大写 //2.查找字符串 let str4 = "Widget with id"; console.log(str4.indexOf('widget')) //结果-1 没找到,区分大小写的 console.log(str4.indexOf('id')) //结果12 位置在12个 console.log(str4.indexOf('id',5)) //结果12 位置在12个,从第五个开始找 console.log(str4.lastIndexOf('id')) //结果1,从倒数第五个开始找 倒找文本 if(str4.indexOf('Widget')!=-1){ console.log("找到了") } //以上写法可以用3的位运算符号 因为~-1的值是0,0位假,所以不会执行 if(~str4.indexOf('Widget') ){ console.log("找到了") } //其他查找字符串的api console.log(str4.includes('id')) //includes 查看找的到找不到字符串,找到是true,找不到是false console.log(str4.startsWith('Wid'))//startWith 判断已什么开始,判断已什么结尾 console.log(str4.endsWith('id')) //endWidth 判断已什么结尾 //3.NOT 运算 位运算~ console.log(~2); //结果-3 -(2+1) console.log(~3); //结果-4 -(3+1) console.log(~4); //结果-5 -(4+1) console.log(~-1) //结果0 -(-1+1) //4.取子字符串 截取字符串 slice , 其他subStr() substring() 这两个用的少 console.log(str4.slice(0,10)) //从头开始,取几个字符串 包括空格 console.log(str4.slice(1,))//从第二个位置取出剩下全部 console.log(str4.slice(-4,-1)) //从倒数第五个,取到倒数第二个 //5.字符串加密解密 一般用于加密解密fromCodePoint和codePointAt console.log(str4.codePointAt(0)) //W 结果87,返回字符串中指定位置字符的Unicode码点值 console.log(str4.charCodeAt(0)) ;//W 结果87 console.log(String.fromCodePoint(87)); //返回去 console.log(String.fromCharCode(87)) //返回去 let strCode=""; for(let i=65;i<=220;i++){ strCode+=String.fromCodePoint(i) //把unicode65-220的循环出来 } console.log(strCode)
本站内容均为小米原创,转载请注明出处:小米技术社区>> 7.第四阶段15 数值类型(进制转换-科学计数法-小数)|随机数|字符串(转义符-取字符串-字符串迭代-查找-运算-加密解密)