一、问题:return myArray.constructor.toString().indexOf("Array") > -1;这句话怎么解释?
myArray.constructor.toString() 是字符串function Array() { [native code] },
function Array() { [native code] }中Array在function这8个字母后面,从0(f为0)编号,一直到7,空格算1个,所以Array从第9个字符开始出现,所以 myArray.constructor.toString().indexOf("Array") 输出数字为9。你可以尝试把 myArray.constructor.toString().indexOf("function") >-1或者 myArray.constructor.toString().indexOf("function") >0 尝试一下,或者把Array换成native试试
1、.constructor属性
2、toString()
<html>
<body>
<script type="text/javascript">
var boo = new Boolean(true)
var too=boo.toString()
document.write(typeof too)
</script>
</body>
</html>
3、indexOf()
举例:
<script type="text/javascript">
var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))
</script>
注意:
- indexOf() 方法对大小写敏感!
- 如果要检索的字符串值没有出现,则该方法返回 -1。
4、
二、
(一)转字符串
1、数字转字符串
- String() //全局方法
- .toString() //全局方法
2、布尔值转字符串
- String() //全局方法
- .toString() //
3、日期转字符串
- String() //全局方法
- .toString() //boolean方法
(二)转数字
1、字符串转数字
- 全局方法 Number() 可以将字符串转换为数字。
- 字符串包含数字(如 "3.14") 转换为数字 (如 3.14).
- 空字符串转换为 0。
- 其他的字符串会转换为 NaN (不是个数字)。
注:NaN属性
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
提示:请使用 isNaN() 全局函数来判断一个值是否是 NaN 值。
2、一元运算符 +
Operator + 可用于将变量转换为数字:
<script type="text/javascript">
function myfunction(){
var y="John";
var x=+y;
document.getElementById("demo").innerHTML=
typeof x+"<br>"+x;
}
</script>
3、将布尔值转换为数字
全局方法 Number() 可将布尔值转换为数字。
Number(false) // 返回 0
Number(true) // 返回 1
4、将日期转换为数字
全局方法 Number() 可将日期转换为数字。
d = new Date();
Number(d) // 返回 1404568027739
getTime() 也可将日期转换为数字。
d = new Date();
d.getTime() // 返回 1404568027739