<script type="text/Javascript">
// JS常用的6种数据类型:Number、Null、Undefined、String、Object、Boolean
// 在JS中怎么判断变量的数据类型? 在JS中常用typeof运算符判断
/*
typeof()运算的结果有6种:
1.undefined
2.object
3.number
4.string
5.boolean
6.function
*/
var i;
console.log('i的数据类型?i='+typeof(i));/*undefined*/
var a=null;
console.log("a的数据类型?a="+typeof(a));/*null通过typeof的结果为object*/
var o = 100;
function b(){
alert("hellow!");
}
console.log("b的数据类型?b="+typeof(b));/*function*/
var h =true;
console.log("h的数据类型?h="+typeof(h));/*boolean*/
var g = "你好!";
console.log("g的数据类型?g="+typeof(g));/*string*/
/*
Undefined类型
1.只有一个值:undefined
2.没用给一个变量赋值时,系统自动赋值undefined
3.还可以自己赋值undefined但是赋值时注意不要加引号,不然就成了string
实例如下:
*/
var ab;/*undefined*/
var ac=undefined;/*undefined*/
var ad="undefined";/*string*/
console.log("ab的typeof运算结果:"+typeof ab);
console.log("ac的typeof运算结果:"+typeof ac);
console.log("ad的typeof运算结果:"+typeof ad);
/*
Null数据类型
1.Null类型只有一个值:null
2.typeof(null) 的运算结果为 object
实例如下:
*/
var ba = null;
console.log(typeof ba);
/*
Number类型
1.Number类型的值:所有的阿拉伯数字(-1,0,1,2...10...)、NaN(不是一个数字但NaN是一个值,它属于Number类型)、Infinity
2.什么情况下的结果值是NaN:当一个数学表达式的运算结果本应该返回一个数字,但是最终无法返回一个数字的时候,结果是NaN。实例如下
var result = 100 / "sjka";
因为JS检测到“/”是一个出号,最终结果肯定是一个数字!
3.Infinity是无穷大,当除数是0的时候,计算结果无穷大。实例:var i = 100 / 0;这个i就是Infinity
4.在Number类型这一块有一个函数叫 : isNaN()函数 。 isNaN()函数的作用在于判断一个变量是不是一个数字!结果是false代表变量是一个数字,结果是true代表变量不是一个数字
5.在Number类型种还有一个函数叫: Number()函数 。 Number()函数的作用是让一个不是数字的变量变成number
6.在Number类型种还有一个函数叫: parseInt()函数 。 parseInt()函数可以将一个字符串转换成数字,并且向下取整
7.在Number类型中还可以使用Math这个数学类中的一个函数ceil(),使用方法是Math.ceil(); 作用是向上取整
*/
var ca = NaN;
console.log("NaN是什么数据类型?"+typeof(ca));
var result = 100 / "sjka";
console.log("什么情况下的结果值是NaN?"+typeof(result) +" " + result);
var kj = 100;
var jk = "大";
console.log("kj是不是一个数字?如果结果为false就是一个数字,true就不是一个数字 "+isNaN(kj)+" jk呢?" + isNaN(jk));
console.log("转换jk为数字: "+Number(jk));
var gh = "123.32";
console.log("parseInt函数:"+parseInt(gh));
console.log("向上取整需要使用JavaScript内置的Math类才能使用ceil()函数:"+ Math.ceil(gh));
/*
Boolean类型
1.Boolean类型只有两个值:rrue,false
2.Boolean类型中有一个函数: Boolean()函数 可以将不是Boolean类型的变量转换Boolean类型,转换规律:只要变量有东西就是true ,反之就是false
3.Boolean()函数会在js中被隐式调用,实例:
if(i){
alert("hellow");
}else{
alert("你好");
}
没被隐式调用是:
if(Boolean(i)){
alert("hellow");
}else{
alert("你好");
}
*/
console.log('转换成Boolean类型:'+ Boolean(gh));
console.log('转换成Boolean类型:'+ Boolean(ab));
/*
String类型
1.String创建string变量有两种方式
第一种:var 变量名 = "字符串"; 实例:var i = "你好!1";
第二种:var 变量名 = new String("字符串"); 实例:var p = new String("你好!2"); 注意new需要小写 这里采用了Object类的子类String.String类是JS内置的
2.第一种创建的string的结果是string,第二种创建的string是object
console.log(typeof(i));结果为string
console.log(typeof(p));结果为object
3.String类型常用的几种方法和属性
常用属性有:length //获取对象的长度
常用的10种方法:
charAt(下标) //获取对象指定下标位置的字符
concat("字符串") //给对象连接字符串
indexOf("查找的字符") //查找某个字符在其对象中的第一次出现时的下标位置
lastIndexOf("查找的字符") //查找某个字符在其对象中最后一次出现的下标位置
replace("原字符","改正后的字符") //替换对象中的某个字符
split("要拆走的字符") //拆分字符串
substr(截取开始的索引,截取字符串的长度) //截取字符串
substring(截取开始的索引,截取结束的索引但不包括该索引对应的字符) //截取字符串
toLowerCase() //转小写
toUpperCase() //转大写
*/
var i = "你好!1";/*string*/
var p = new String("你好!2");/*object*/
//var k = New String("你好!2");/*报错*/
console.log("第一种创建string的结果为:"+typeof(i));
console.log("第二种创建string的结果为:"+typeof(p));
//console.log("第三种创建string的结果为:"+typeof(k));
var string1 = "潘安东";
console.log(string1.length);//length属性 结果为:3
console.log(string1.charAt(2));//charAt方法 结果为:东
console.log(string1.concat("今年加油!"));//concat方法 结果为:潘安东今年加油!
console.log(string1.indexOf("东"));//indexOf方法 结果为:2
console.log("aahhuhghfa".lastIndexOf("a"));//lastIndexOf()方法 结果为:9 a最后出现在对象aahhuhghfa中的下标位置为9
console.log("盘安东".replace("盘","潘"));//replace()方法 结果为:潘安东 replace()方法将"盘"替换成"潘"
var chaifen = string1.split("安"); //拆分字符串string1,拆分后变量拆分接收的是一个数组 split()方法拆分字符串之后变为为数组,因此输出数组需要遍历
console.log(chaifen);//验证变量chaifen是不是一个数组
console.log(typeof(chaifen));//用typeof()函数再次验证变量chaifen是不是一个数组
for(var i = 0;i<chaifen.length;i++){
console.log(chaifen[i]);
}//遍历数组chaifen,并输出到控制台
console.log(string1.substr(1,1));//截取string1 从索引[1]开始截取,截取的长度为1个字符 因此结果为:安
console.log(string1.substring(0,2));//截取string 从索引[0]开始截取,截取到索引[2]对应的字符前一位 结果:潘安
console.log("paanDad".toLowerCase());
console.log("paanDad".toUpperCase());
/*
charAt(某个字符的下标)方法,查找某个对象中的某个字符
concat("字符串") 拼接字符串
indexOf("要查找的字符") 查找某个字符在对象中的第一次出现的索引
lastIndexOf("要查找的字符") 查找某个字符在对象中最后一次出现的索引
replace("字符","要替换成的字符") 替换字符
split("要拆走的字符") 拆分字符串 拆分的字符串会变成一个数组,可以用一个变量接收这个数组,然后在通过for循环便利这个数组
substr(截取字符串开始的位置,截取字符串的长度) 截取字符串
substring(截取字符串开始的位置,截取字符串结束的位置但不包括他本身) 截取字符串
toLowerCase()转换成小写
toUpperCase()转换成大写
charAt()、concat()、replace()、split()、indexOf()、lastIndexOf()、substr()、substring()、toLowerCase()、toUpperCase()
*/
/*数组创建的两种方式*/
/*第一种*/
var array1 = new Array();
array1[0] = "北京";
array1[1] = 1;
console.log(typeof(array1));
for (var i = 0; i <= array1.length; i++) {
console.log(array1[i]);
}
/*第二种*/
var array2 = new Array(1,2,"潘安东");
console.log(typeof(array2));
for (var i = 0; i < array2.length; i++) {
console.log(array2[i]);
}
/*
Object类型
1.在JS中内置了一个类型Object,可以将Object类型看成是所有对象的超类或者基类
2、在JS当中默认第一的类型、没有特殊说明,默认继承Object
3、常用的属性和方法
常用的属性:prototype属性、construtor属性
常用方法:toLocaleString()、toString()、valueOf()
重点掌握 prototype属性 prototype译为: 原型 作用是给对象动态扩展属性和方法 prototype 不可以给undefined和null添加prototype属性 其他数据类型都可以
*/
var object1 = new Object();
console.log(typeof object1);
/*给Object扩展一个方法*/
Object.prototype.string1 = function(){
console.log("Heelow!");
}
/*给Object扩展一个属性*/
Object.prototype.name="潘安东";
object1.string1();//调用扩展的string1()方法
console.log(object1.name);//输出object1的name属性
var sjahjh = new Object();
Object.prototype.userename = "等我啊!";
console.log(sjahjh.userename);
</script>
JS常用的6种数据类型及常用函数
最新推荐文章于 2021-12-19 20:57:07 发布