alert(arrStr.indexOf("张三"));arrStr.indexOf("张三")返回一个数字类型~
alert()里面如果放进去一个非字符串类型,就会调用一个类型的toString()方法得到一个字符串~比如说:
function myclass(strName,strSex){
this.name=strName;
this.sex=strSex;
this.toString=function(){
return "我叫"+this.name+",我的性别是"+this.sex;
}
}
var man=new myclass("张三","男");
alert(man)
至于你问的数组为什么可以放不同的类型,那是因为他们其实都是同一个基类~~
而且js是解释性语言,实现起来比较简单~~
alert()里面如果放进去一个非字符串类型,就会调用一个类型的toString()方法得到一个字符串~比如说:
function myclass(strName,strSex){
this.name=strName;
this.sex=strSex;
this.toString=function(){
return "我叫"+this.name+",我的性别是"+this.sex;
}
}
var man=new myclass("张三","男");
alert(man)
至于你问的数组为什么可以放不同的类型,那是因为他们其实都是同一个基类~~
而且js是解释性语言,实现起来比较简单~~
array其实本身是一个function类型~~~所谓数据放进去取出来值和类型都不会变~~~
因为数组没有规定你“放”进去什么类型~~~
而且我上面讨论的数组和toString方法是两个不同的问题~~~
return parseInt(this,10)
}
function MyClass(name,age){
this.name=name;
this.age=age;
}
MyClass.prototype.toInt=function(){
return parseInt(this.age)
}
var num=0;
var myclass=new MyClass("小明",18);
var sum=num+myclass;//你认为这里系统会自动调用返回age吗?不会的~哪有那么强~~