1.string Array Date Math 内置对象的属性和方法?
答案:
①String 字符串
属性 :length 获取字符串长度
方法:
indexOf() 从左到右检索子字符串在原字符串第一次出现的位置
返回一个整数值,之处String对象内开始查找的字符串开始位置 如果没有找到 返回 -1
例: var a = 'abc'; alert(a.indexOf('b')); // 返回值1 返回b在a字符串索引位置 索引是从0开始的
alert(a.indexOf('bf')); //没有找到 返回 -1
lastIndexOf() 从右到左检索子字符串在原字符串第一次出现的位置
例: var b = 'abcde'; alert(a.lastIndexOf('d')); // 返回值3 返回d在b字符串索引位置 索引是从0开始的
alert(d.lastIndexOf('bf')); //没有找到 返回 -1
-------------------------------------------------------------------------
用法: 对象.indexOf() 无参数时 返回值 -1
对象.lastIndexOf() 无参数时 返回值 -1
有参数时则是按索引下标数返回
--------------------------------------------------------------------------
用法:正则查找 符号 / 查找内容/
search() 返回于正则表达式查找的内容匹配第一个字符串出现的位置
例:var str="Visit W3School!" document.write(str.search(/W3School/)) 输出6
document.write(str.search(/w3school/)) 输出 -1 区分大小写
document.write(str.search(/w3school/i)) 输出6 i在正则里代表不区分大小写
无参数时 返回值 'null' 有参数时则是按索引下标数返回
-------------------------------------------------------------------------------------
match() 使用正则表达式模式对字符串执行查找 并将结果作为数组返回
例:
var str="Hello world!"
document.write(str.match("world") + "<br />") //world
document.write(str.match("World") + "<br />") //null
document.write(str.match("worlld") + "<br />")//null
document.write(str.match("world!")) //world!
在本例中,我们将使用全局匹配的正则表达式来检索字符串中的所有数字:
var str="1 plus 2 equal 3"
document.write(str.match(/\d+/g)
) g在正则表示匹配多次 不加 g 只返回匹配一次结果
输出:1,2,3
------------------------------------------------------------------------------
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
stringObject.substr(start,length)
参数 | 描述 |
---|---|
start | 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。 |
length | 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 |
一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
注释:substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。
重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。
在本例中,我们将使用 substr() 从字符串中提取一些字符:
<script type="text/javascript">
var str="Hello world!"
document.write(str.substr(3)
)
</script>
输出:
lo world!
在本例中,我们将使用 substr() 从字符串中提取一些字符:
<script type="text/javascript">
var str="Hello world!"
document.write(str.substr(3,7)
)
</script>
输出:
lo worl
-------------------------------------------------------------------------------------------
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
stringObject.substring(start,stop)
参数 | 描述 |
---|---|
start | 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 |
stop | 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。
如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
在本例中,我们将使用 substring() 从字符串中提取一些字符:
<script type="text/javascript">
var str="Hello world!"
document.write(str.substring(3)
)
</script>
输出:
lo world!
在本例中,我们将使用 substring() 从字符串中提取一些字符:
<script type="text/javascript">
var str="Hello world!"
document.write(str.substring(3,7)
)
</script>
输出:
lo w
------------------------------------------------------------------------------
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
arrayObject.concat(arrayX,arrayX,......,arrayX)
参数 | 描述 |
---|---|
arrayX | 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。 |
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
在本例中,我们将把 concat() 中的参数连接到数组 a 中:
<script type="text/javascript">
var a = [1,2,3];
document.write(a.concat(4,5)
);
</script>
输出:
1,2,3,4,5
在本例中,我们创建了两个数组,然后使用 concat() 把它们连接起来:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
document.write(arr.concat(arr2)
)
</script>
输出:
George,John,Thomas,James,Adrew,Martin
在本例中,我们创建了三个数组,然后使用 concat() 把它们连接起来:
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
var arr3 = new Array(2)
arr3[0] = "William"
arr3[1] = "Franklin"
document.write(arr.concat(arr2,arr3)
)
</script>
输出:
George,John,Thomas,James,Adrew,Martin,William,Franklin
------------------------------------------------------------------------
split() 方法用于把一个字符串分割成字符串数组。
stringObject.split(separator,howmany)
参数 | 描述 |
---|---|
separator | 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。 |
howmany | 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 |
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
注释:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
注释:String.split() 执行的操作与 Array.join 执行的操作是相反的。
在本例中,我们将按照不同的方式来分割字符串:
<script type="text/javascript"> var str="How are you doing today?" document.write(str.split(" ") + "<br />") document.write(str.split("") + "<br />") document.write(str.split(" ",3)) </script>
输出:
How,are,you,doing,today? H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? How,are,you
在本例中,我们将分割结构更为复杂的字符串:
"2:3:4:5".split(":") //将返回["2", "3", "4", "5"] "|a|b|c".split("|") //将返回["", "a", "b", "c"]
使用下面的代码,可以把句子分割成单词:
var words = sentence.split(' ')
或者使用正则表达式作为 separator:
var words = sentence.split(/\s+/)
如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:
"hello".split("") //可返回 ["h", "e", "l", "l", "o"]
若只需要返回一部分字符,请使用 howmany 参数:
"hello".split("", 3) //可返回 ["h", "e", "l"]
-----------------------------------------------------------------------------------------------
replace() 将字符串替换后复制新字符串
例:
var a = 'abc';
alert(a.replace('c', '123'))
输出: ab123
------------------------------------------------------------------------------------------------
toUpperCase() 方法用于把字符串转换为大写
var str = 'abc';
document.write(str.toUpperCase())
输出:ABC
------------------------------------------------------------------------------------------------
toLowerCase() 方法用于把字符串转换为小写
var str = 'abcDEF';
document.write(str.toLowerCase())
输出:abcdef
------------------------------------------------------------------------------------------------