demo:
var arr="123456";
console.log(typeof arr);//string
console.log(typeof arr.indexOf(1));//number
console.log(arr.indexOf(1));//0
var arr1=[1,2,3,4,5,6];
console.log(typeof arr1);//Object
console.log(typeof arr1.indexOf(1));//number
console.log(arr1.indexOf(1));//0
arr类型是string ,arr1是Object。
之前在《JavaScript高级程序设计》看到说 js一些元素皆对象。
也听人说过字符串实际就是加了双引号的数组。
经过上面这个方法的测试,是不是可以认定为,字符串能调用数组的Api方法,数组也能调用字符串的Api方法呢?
今天刚用这个方法实现了双色球的demo,虽然实现了效果,但对这两个类型之间的api调用关系不是很理解,很是困惑。
不用循环实现双色球的demo如下:
var blue;
//1-16之间随机生成了一个篮球,存入blue中
blue = Math.floor((Math.random()*(16-1+1)+1));
var reds = [];
while(reds.length<6){
// 先随机生成1-33之间的整数
var bools=Math.floor((Math.random()*(33-1+1)+1));
//判断整数是否已存在reds中
//如果存在就将isExit=true
var isExit = false;
if(reds.indexOf(bools)==-1){
//否则将数组压入数组reds中
//reds中保存了6个不重复的随机数
isExit = true;
}
if(isExit){
reds.push(bools);
}
}
document.write(reds.join(",")+"|"+blue);
小弟不才还请各路大仙指点一下。
Array:
链接String:
链接
array 的indexof 可能是最近的javascript 版本才支持的,
IE8以前都不行的