看下我的注释问题:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Array对象 </title> <script type="text/javascript"> var myarr1= ["我","爱","你"]; var myarr2="我爱你" document.write(myarr1.slice(myarr1.indexOf("爱")).reverse()+"<br/>"); document.write(myarr1.indexOf("爱")+"<br/>"); document.write(myarr2.substring("我",3)+"<br/>"); document.write(myarr2.substr("我",3)+"<br/>"); document.write(myarr2.slice(-1)); document.write(myarr1.substring("我",3)+"<br/>"); document.write(myarr2.substr("我",3)+"<br/>"); //.substring() .substr()是针对于字符串;而.indexOf()为什么在字符串和数组中都能用到? .slice()为什么也可用于字符串呢? </script> </head> <body> </body> </html>
js中Array和String都是对象,所有有各自的属性和方法,只不过为了好记忆,刚好给它们相同功能的方法取相同的名称而已,所有它们都可以有名为slice的方法,它们的代码实现应该不会相同
http://www.w3school.com.cn/jsref/jsref_slice_array.asp slise
http://www.w3school.com.cn/jsref/jsref_substr.asp substr
http://www.w3school.com.cn/jsref/jsref_substring.asp substring
http://www.w3school.com.cn/jsref/jsref_indexOf.asp indexof
我只是搬运工
为什么不能用于字符串呢……不明白你问的什么,那只是个函数,当然可以作用于他可作用于的对象,对于这个记住就好,纠结为什么干嘛...或者你可以找出来函数的原型代码看看怎么实现的,哪有为什么……