javascript - js的数组为什么能调用字符串的api方法
巴扎黑
巴扎黑 2017-04-10 17:45:15
[JavaScript讨论组]

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);

小弟不才还请各路大仙指点一下。

巴扎黑
巴扎黑

全部回复(2)
PHPz
  • Array:
    链接

  • String:
    链接

高洛峰

array 的indexof 可能是最近的javascript 版本才支持的,
IE8以前都不行的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号