4.1基本数据类型
1.数字(Number):包括浮点数与整数 2.字符串(String):包括由任意数量字符组成的序列 3.布尔值(Boolean):包括true和false 4.undefined:当我们试图访问一个不存在的变量时,就会得到一个特殊的值undefined.除此之外, 使用已定义却未赋值的变量也会如此,因为js会自动将变量在初始化之前的值设定为undefined。而 undefined类型的值只有一个,那就是undefined 5.Null:只包含一个值的特殊数据类型。所谓的null值,通常是没有值或空值。不代表任何东西。 null与undefined最大的不同在于,被赋予null的变量通常被认为是已经定义了的,只不过它不代表 任何东西。
4.2非基本数据类型(对象)
4.3数字(number)类型数据基本操作
var num1
var num2
num1 = 10
num2 = 20
console.log(typeof(num1)) //返回数据类型
sum = num1+num2 //加法运算
sum_str = num1.toString() + num2 //变量名.toString:将变量转换成字符串
console.log('sum=' + sum) //sum=30
console.log('sum_str=' + sum_str) //sub_str=30
var num3 = Infinity //当变量的数值超过js所能表示的最大值的时候会转换成Infinity
console.log('num3=' + num3) //num3=Infinity
console.log('num3+1=' + (num3+1)) //Infinity加任何值还是等于Infinity
console.log('num3-1=' + (num3-1000000)) //Infinity减任何值还是等于Infinity
console.log('num3.type: ' + typeof(num3)) //Infinity的数据类型还是number
var num4 = NaN //NaN表示不是数字,但事实上它依然属于数字类型,只不过是一种特殊的数字
console.log('num4.type: ' + typeof(num4)) //number类型
console.log('num4+1=' + (num4+1)) //NaN加任何值还是等于NaN
console.log('num4-1=' + (num4-1)) //NaN减任何值还是等于NaN
console.log(NaN == NaN) //NaN不等于NaN
console.log('num4 is NaN? ' + isNaN(num4)) //判断一个数是不是NaN
4.4字符串(string)基本操作
var str1;
var str2;
var num;
str1 = 'aaaaa';
str2 = 'bbbbb';
num = 1
str3 = str1 + str2 //字符串拼接
str4 = str1 + num + 'sally' //字符串+数字,会将数字转换成字符串,相当于num.toString(),引号中的也是字符串
str5 = num.toString() //将数字转换为字符串
console.log(str3) //aaaaabbbbb
console.log(str4) //aaaaa1sally
console.log(str5) //1
var str1 = 'I am a good man' //这是一个string类型
var str2 = new String('I am a good man') //这是一个对象类型
console.log('typeof(str1)=' + typeof(str1)) //typeof(str1)=string
console.log('typeof(str2)=' + typeof(str2)) //typeof(str1)=object
console.log(str1.length) //计算字符串的字符个数(不是字节数)
console.log(str1.charAt(3)) //获取字符串指定下标位置的字符
console.log(str1[3]) //获取字符串指定下标位置的字符
console.log(str1.charCodeAt(3)) //获取字符串指定下标位置的字符的ASCII码值
var str3 = String.fromCharCode(97) //将ASCII码值转换为字符
console.log(str3) //string
var str4 = 'adbkDHGS'
var str5 = str4.toLowerCase() //将字符串中的字符全部转换为小写
var str6 = str4.toUpperCase() //将字符串中的字符全部转换为大写
console.log(str5) //adbkdhgs
console.log(str6) //ADBKDHGS
var str5 = 'abc'
var str6 = 'acb'
console.log(str5>str6) //判断字符串大小(按逐个字符的ASCII码值来比较),为真的话返回true,为假返回false
//判断字符串大小(按逐个字符的ASCII码值来比较),如果前面的大,返回1,如果前面的小返回-1,如果相等返回0
console.log(str5.localeCompare(str6))
var str7="I am a good good man";
console.log(str7.indexOf('good')) //从关部开始查找字符串中是否包含指定字符串,返回第一个匹配到的值的下标,没找到则返回-1
console.log(str7.lastIndexOf('good')) //从尾部开始查找字符串中是否包含指定字符串,返回第一个匹配到的值的下标,没找到则返回-1
var str8 = str7.replace('good','nice') //替换第一个匹配到的字符串
console.log(str8)
var str9 = str7.substring(7,11) //根据下标截取内容,示例中是截取下标位置7,8,9,10的字符,不包括11
var str10 = str7.substring(7,) //截取下标7及以后的内容
console.log(str9)
console.log(str10)
var str11 = str7.substr(7,4) //根据下标截取内容,示例中是截取下标7及以后的4个下标,也就是7,8,9,10的字符
console.log(str11)
var arr = str7.split(' ') //根据指定字符分割字符串,获取到一个数组
console.log(arr)
var str12 = arr.join(' ') //将数组以指定字符为连接符,拼接成字符串
console.log(str12)
4.5布尔值(bool)
//0,0.0,'',"",NaN,undefined,false,null,这些值为false,其它为true
bool1 = true;
bool2 = false;
console.log(bool1)
console.log(bool2)