number(数据类型):
整型 var a = 1;
浮点数 var b = 1.1;
八进制 var c=010;
十六进制 var d=0xa;
科学计数法 var e=1.23E12;
无穷大或无穷小 Infinity
NaN not a number(非数值) > 判断是不是数字可用 isNaN(a),里面的a则是需要判断的,当a不是数字时返回结果为true,否则为fasle
string和String和toString()方法
用英文双引号或单引号包围起来的内容称为字符串,如"123",‘1234’
var num1=123;
var str1='123';
var str2='abcd123';
var str3="我是字符串";
var str4='@#$%^&*()asds';
var str5='alksjh";';
**注意:**字符串是不可以书写回车键的,否则会出现错误,如果想要显示出引号,可以用转义字符 \
var str7="ash'asd'f\"as";
console.log(str7);
String和toString()方法
String和toString()方法都可以将其他数据类型转换为字符串类型,两种转换方法的去呗在于null和undefined没有toString()方法,toString()属于对象的方法,通过"对象.toString()“调用。
String
1、字符串转字符串:原样
2、数字转字符串:前后加”“号
3、布尔值转字符串:前后加”“号
4、null转字符串:前后加”“号
5、undefined转字符串:前后加”“号
6、对象转字符串:直接转为’[object Object]‘,空数组转换为空字符串,非空将[]转换为”"。
console.log(String("abc123"));//'abc123'
console.log(String(123));//'123'
console.log(String(-123));//'-123'
console.log(String(-1.23));//'-1.23'
console.log(String(Infinity));//'Infinity'
console.log(String(NaN));//'NaN'
console.log(String(0xa));//'10'
console.log(String(true));//'true'
console.log(String(false));//'false'
console.log(String(null));//'null'
console.log(String(undefined));//'undefined'
console.log(String({}));//‘[object Object]’这个是个对象(广义),是对象类型的
console.log(String({name:"lucy"}));//'[object Object]'
console.log(String([]));//‘’空字符串
console.log(String([1,2,34]));//'1,2,34'
toString()
boolean (布尔值)与Boolean()方法
console.log("abc123".toString());//'abc123'
console.log((123).toString());//'123'
console.log((-123).toString());//'-123'
console.log((-1.23).toString());//'-1.23'
console.log(Infinity.toString());//'Infinity'
console.log(NaN.toString());//'NaN'
console.log(0xa.toString());//'10'
console.log(true.toString());//'true'
console.log(false.toString());//'false'
// console.log(null.toString());//'null'
// console.log(undefined.toString());//'undefined'
console.log({}.toString());//‘[object Object]’这个是个对象(广义),是对象类型的
console.log({name:"lucy"}.toString());//'[object Object]'
console.log([].toString());//‘’空字符串
console.log([1,2,34].toString());//'1,2,34'
boolean
boolean 只有两个两种类型,true和false,常用与if语句中,if只看小括号返回的是true还是false, 如果是true则执行if的语句 否则不执行或者是执行else的语句
if (true){
alert("真")
}
if (false){
alert("真")
}else{
alert("假");
}
if能接受的只能是true或者是false,我们获取的标签在js中是一个objcet对象,如果没有获取到的话,那么是一个空对象,在判断条件中会对我们传入的值进行一个转换,转换成布尔值,空对象指针null转换成布尔值是false,而其他所有对象转化成布尔值都是true
if ({}){
alert("zhen")
}
if (box){
alert("有box")
}else{
alert("没有box");
}
数字转换成布尔值的规则是:非0为true,0为false,Infinity为true,NaN为false
if (NaN){
console.log("真");
}
字符串转化成布尔值的规则是:非空为true,空为false
if (str1){
alert("真");
}
undefined转换成布尔值是fasle
if (a){
alert(1);
}else{
alert(2);
}
Boolean()
Boolean()方法可以将其他的数据类型强转为布尔值类型
console.log(Boolean(123));//true
console.log(Boolean(""));//false
console.log(Boolean("123"));//true
console.log(Boolean(true));//true
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
console.log(Boolean({}));//true
console.log(Boolean({"name":"lily"}));//true
console.log(Boolean([]));//true
console.log(Boolean([1,2,34]));//true
关于null和undefined的详细应用场景请参考本人的另一篇文章null和undefined的区别和应用场景
null(空对象)
原型链顶端
给一个暂时不用的变量一个null
调用函数的时候,不传递参数,可以传入null
undefined (未定义,找不到值)
声明变量 没有赋值
函数没有返回值
调用函数的时候没有传入参数
对象的属性没有的时候