数据类型5种简单数据类型:1.undefined只有一个特殊值,undefined(1)声明了一个变量但没有赋值。该变量默认未定义(2)函数中没有return。默认返回值为undefinedvarmessage;警报(消息);//undefinedalert(age);//erroralert(typeofmessage);//undefinedalert(typeofage);//undefined对于未声明的变量,只能进行一个操作是使用typeof来检测其数据类型和返回未定义。其他操作会报错。2.null只有一个特殊值,null.null代表一个空对象指针。typeofnull"Object"typeofundefined"Undefined"null==undefined//true3.boolean两个值:truefalse但是js中所有类型的值都有等价于这两个boolean值的值。要将值转换为布尔值,请调用Boolean()函数。各种类型转Boolean的结果如下:undefined:false。null:转换为false。字符串:空字符串,返回false;非空字符串,正确。数值:如果数字为0或NaN,则返回false。;非零数,假。对象:真实;摘要:非空字符串。非零数字被转换为真。4.number是一个特殊的值:NaN。用于表示原本有返回值的操作数不返回操作数。两个特殊:(1)任何涉及NaN到NaN的操作都将返回NaN(2)NaN不等于任何值,包括它自己。alert(NaN==NaN);//false一个函数:isNaN()isNaN(NaN);//trueisNaN(true);//false可以转为1isNaN("10");//false可以将一个值转换为10的三个函数:Number()parseInt()parseFloat()Number()可以将任意类型转换为number类型。后两者专门用于将字符串转换为数字。undefined:NaNnull:0boolean:true:1;false:0String:(1)字符串中只有数字,转换为十进制值。(2)如果字符串中有浮点格式,则将其转换为对应的浮点值。(3)如果字符串中有十六进制,则转为十进制。(4)空字符串转0。(5)其他格式,转为NaNNumber()函数在转换字符串时比较复杂。所以parseInt函数比较常用。parseInt()直到找到第一个非空格字符,如果第一个字符不是数字字符或符号,直接返回NaN。继续解析第二个字符,直到解析完所有后续字符或遇到非数字字符。parseInt("1234blue");//1234parseInt('');//NaN5.string转成字符串:toString()方法undefined.null不能用这个方法boolean.number.string(返回一个字符串的副本)可以这样用.String()方法可以将任意类型的值转换成字符串String(null);//"null"String(undefined);//"undefined"1复杂类型6.Object创建对象的两种方法1.Object时您使用对象文字定义对象,实际上并未调用Object构造函数。varp={名字:“汤姆”,年龄:29};2.构造函数Person(){}varp=newPerson();对象属性和方法constructor:通过hasOwnproperty(propertyname)可以知道一个对象是哪个构造函数创建的:检查该属性是否在当前对象实例中isPrototypeOf(object):toLocaleString():返回对象的字符串表示toString():返回对象的字符串表示valueOf():返回对象的字符串,布尔或数字表示。
