以下是html代码,个人建议放在IDE里运行,边看效果,边学习~
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>JS初步(三)——强制类型转换与进制</title> <script> /* 强制类型转换 - 指将一个数据类型强制转换为其它的数据类型 */ /* 转换为String类型 方式一: - 调用被转换数据类型的toString()方法 - 该方法不会影响原变量,仅仅会讲转换的结果返回 - 值得注意的是当变量值为null或者是undefined时,强制转换会报错 也就是它俩没有toString()方法 方式二: - 调用String()函数,并将转换的数据作为参数传递给函数 - 这个方法可以将null和undefined转化为字符串 - 对于Number和Boolean实际上就是调用的tostring()方法 但是对于null和undefined,就不会调用toString()方法 它会将null直接转换为"null",undefined转换为"undefined" */ var a = 123; // 方式一:调用a的toString方法,进行强制转换 var b = a.toString(); //讲toString()的返回值赋给b console.log(typeof a); //输出值为number console.log(a); //输出值为数值123 console.log(typeof b); //输出值为string console.log(b); //输出值为字符串123 //方式二:调用String()函数,将a转换为字符串 a = String(a); console.log(typeof a); //输出值为string console.log(a); //输出值为字符串123 /* 转换为number类型 方式一: - 使用Number()函数 - 字符串 --> 数字 1.如果是纯数字的字符串,直接转换为数字 2.如果字符串中存在非数字的内容,则转换为NaN 3.如果字符串为空(空串),则转换为数字0 - 布尔值 --> 数字 true 转成1 false 转成0 - null --> 数字 null 转成0 - undefined --> 数字 undefined 转成NaN 方式二: - 这种方式专门用来对付字符串 - parseInt() 把一个字符串转换为一个整数(也只能识别整数,小数点后面的不会考虑) 它可以将一个字符串中的有效的整数内容取出来转化为number,但是会造成信息丢失 在面对"b123.12bds123sdf"这种类型的字符串时,由于首字母不是数字,所以直接返回NaN 换而言之,首字母必须是数字才行,函数一旦读取到字符或者小数点(小数点仅针对于parseInt),就会自动停止 - parseFloat() 把一个字符串转换为一个浮点数,相比parseInt可以额外取出小数 - 如果对非String的变量使用上述两种函数,则它们会先将其转换为String,然后再操作 */ var a = "abc"; //方式一:调用Number()函数,将a转换为数字 a = Number(a); console.log(typeof a); //输出值为number console.log(a); //输出值为NaN a = true; a = Number(a); console.log(typeof a); //输出值为number console.log(a); //输出值为1 a = "123px" //方式二:调用parseInt()函数,将a转化为数字 a = parseInt(a); console.log(typeof a); //输出值为number console.log(a); //输出值为123 /* 在js中,如果需要表示16进制的数字,需要以0x开头,八进制以0开头,二进制以0b开头 但不是所有的浏览器都支持二进制的这种写法 */ a = 0xff; //255 a = 070; //56 a = "070" //向这种字符串有些浏览器会当成8进制、10进制解析 a = parseInt(a,10); //这里后面的10表示按10进制解析 /* 转换为Boolean类型 - 使用Boolean()函数 - 数字 --> 布尔 - 除了0和NaN,其它都是true - 字符串 --> 布尔 - 除了空串,其它都是true - undefined、null --> 布尔 - 都是false - object --> 布尔 - 都是true */ var a = 123; //a=0时转化后值为false a = Boolean(a); console.log(typeof a); //输出值为boolean console.log(a); //输出值为true var a = undefined; //NaN、null也一样 a = Boolean(a); console.log(typeof a); //输出值为boolean console.log(a); //输出值为false var a = ""; //空串为false a = Boolean(a); console.log(typeof a); //输出值为boolean console.log(a); //输出值为false </script> </head> <body> </body> </html>
Web全栈工程师之路(三)——JavaScript篇(三)——强制类型转换与进制
原文:https://www.cnblogs.com/lyrebirth-world/p/12843737.html