js数据类型
1typeof运算符
"undefined",如果变量是undefined型的。
"boolean",如果变量是Boolean型的。
"number",如果变量是Number型的。
"string",如果变量是String型的。
"object",如果变量是一种引用型或Null类型的。
2.undefined类型
当声明的变量未初始化时,默认值是undefined。
当函数无明确返回值时,返回的值也是undefined
3.Null类型
alert(null==undefined);//输出true
4.Boolean类型,只有两种值true,false
var bfound=true;
5.String 类型
var string1="anvnff";
var str=1+"";//类型加空串,转换为字符串。
6.Number类型(包含小数,整数)
var a=55;
前两个Numebr.MAX_VALUE和Numebr.MIN_VALUE定义了Numeber值集合的边界。
判断一个数是否有穷的isFinit()
特殊值 NaN,表示非数
alert(typeof Number("a")); //number, NaN属于number类型
二、强制类型转换
1.parseInt
alert(parseInt("abc")); //返回NaN
alert(typeof parseInt("1")); //number
alert(parseInt("1.1")); //返回1,去掉小数部分
2.parseFloat
alert(parseFloat("abc"));//返回NaN
alert(parseFloat("1.2"));//number
alert(parseFloat("1"));//会自动去掉.0
三、创建对象方式
1. 数组创建对象方式1:
// var arr = new Array();
// arr[0] = 1;
// arr[1] = 2;
// arr[2] = 3;
// alert(arr.length);
//方式2:
// var arr1 = new Array(10);
// alert(arr1.length);
//方式3:
alert(arr3);
方式4(常用方式)
//var arr = [1, 2, 3, 4, 5];
//var arr1 = [6, 7, 8];
2.Array常用方法
shift(): 删除数组的第一个元素,返回删除的值.
pop(): 删除数组的最后一个元素,返回删除的值.
unshift(): 把参数加载数组的前面,返回数组的长度.
push(): 将参数加载到数组的最后,返回数组的长度.
concat():把两个数组拼接起来
splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
reverse(): 将数组反序,并返回新的数组
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
3.日期对象
创建var now=new Date();
now.getFullYear();
now.getMonth();0-11的整数,表示1-12月
now.getDate();
now.getHours();
now.getMinutes();
now.getSenconds();
4.String
charcodeAT(index)返回指定索引的Unicode编码
charAT(index)返回指定索引位置的字符
slice(start[,end])
substring(start[,end])返回位于 String 对象中指定位置的子字符串。
说明
substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。
substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。
如果 start 或 end 为 NaN 或者负数,那么将其替换为0。
子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。
示例
下面的示例演示了 substring 方法的用法。
function SubstringDemo(){
var ss; // 声明变量。
var s = "The rain in Spain falls mainly in the plain..";
ss = s.substring(12, 17); // 取子字符串。
return(ss); // 返回子字符串。
}
lastIndexOf(substr[,startindex])返回字符串最后最后出现的位置。
说明
lastIndexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。
如果 startindex 是负数,则 startindex 被当作零。如果它比最大字符位置索引还大,则它被当作最大的可能索引。
从右向左执行查找。否则,该方法和 indexOf 相同。
下面的示例说明了 lastIndexOf 方法的用法:
function lastIndexDemo(str2)
{
var str1 = "BABEBIBOBUBABEBIBOBU"
var s = str1.lastIndexOf(str2);
return(s);
}
concat(str,str1)返回字符串的值,该值包含了两个或更多个提供的字符串的连接
例子: function concatDemo()
{
var str1 = "ABCDEFGHIJKLM"
var str2 = "NOPQRSTUVWXYZ";
var s = str1.concat(str2);
// 返回连接好的字符串。
return(s);
}
将URL中允许的字符编码,解码如空格,汉字。
encodeURI(),decodeURI()
将特殊字符进行编码解码:如\.?等
encodeURIComponent()
decodeURIComponent()
以下是总的例子,可以试试:
function myPrint(a) {
document.write(a + "<br>");
}
var str = "abcadaef";
var str1 = "123";
// myPrint(str.charCodeAt(0));
// myPrint(str.charAt(0));
// myPrint(str.slice(0, 2));
// myPrint(str.substring(1, 3));
// myPrint(str.indexOf("a", 1));
// myPrint(str.lastIndexOf("a", 7));
myPrint(str.concat(str1));
var url = "http://www.baidu.com/?username=123";
var newUrl = encodeURI(url);
// myPrint(newUrl);
// var newUrl1 = decodeURI("http://www.baidu.com/%E7%99%BE%E7%A7%91");
// myPrint(newUrl1);
myPrint(encodeURIComponent(url));
myPrint(decodeURIComponent("http%3A%2F%2Fwww.baidu.com%2F%3Fusername%3D123"));
var now = new Date();
var str = new String("abc");
myPrint(str instanceof String);