弱类型,变量的数据类型,只有在程序运行的时候,才确定具体的类型, 不同的数据类型可以在原来的空间,相互转换,如下是可以运行的: var age = 21; age = 'twenty-one';
var octal = 0111; var decimal = 0x1b; console.log(octal); console.log(decimal);
console.log(Number.MAX_VALUE); console.log(Number.MIN_VALUE); console.log(Number.MAX_VALUE*2); console.log(Number.MIN_VALUE - Number.MAX_VALUE*2); console.log('not a number ' - 1);
isNaN(var v)判断是否为非数字类型的,返回true或false。
字符串嵌套,外双内单,外单内双。
用在 引号 内:
var str = '我是个"高富帅"\n程序员';
str.length;
var str = 'my name is andy'; console.log(str.length);
与Java相同。
true参与数字运算时是 1,false参与数字运算时是 0。
console.log(true+1); console.log(false+1);
undefined参与数字运算时,是NaN类型的,参与字符串拼接,是’undefined’;
null参与数字运算,是0;参与字符串拼接,是’null’。
var variable = null; console.log(variable+ '是空吗'); console.log(variable+1);
查看属于哪种类型的变量,需要注意的是,null为Object类,而promot获取的为,字符串型的。
var variable = undefined; console.log(typeof variable); var s = prompt(''); console.log(s); console.log(typeof s);
v.toString()方法
var num = 12; var str = num.toString(); console.log(typeof str);
String(var v)函数
var num = 12; var str = String(num);
用空字符串
var num = 12; var str = num + '';
parseInt(),转换为整数型,默认遇到符号直接去掉后面的部分。
var s = prompt('请输入'); console.log(parseInt(s)); console.log(parseInt('2.333')); console.log(parseInt('12$')); console.log(parseInt('12====21'));
parseFloat(),转换为浮点型
略
Number(string)
var s = '12'; console.log(Number(s));
使用隐式转换 - * /
var s = '12'; console.log(s - 0); console.log(s * 1);
Boolean()函数,将其他类型转换为布尔值
代表空,否定的值,会被转换为false,如0,’’,NaN,null,undefined。
console.log(Boolean('')); console.log(Boolean(0)); console.log(Boolean(NaN)); console.log(Boolean(null)); console.log(Boolean(undefined)); console.log('-----------------'); console.log(Boolean('小白')); console.log(Boolean(12));