数组:JavaScript的数组不是提前定义内存大小的,它很像多重指针变量定义的二维数组。可以随意增长数组的长度,使用单独的变量名来储存一系列的值。但是也是可以控制数组的:
var mycars=new Array(3)
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
//相当于
var mycars=new Array("Saab","Volvo","BMW")
....等等。数组与对象一样,同样可以用for in循环数组内的每一个值:
var x
for (x in mycars)
{
document.write(mycars[x] + ",")
}
数组是可以直接输出的。输出格式是组成一个字符串,每个元素之间有个逗号分开。下面的效果与上面的一致的。
document.write(mycars)
arr.concat(arr2)函数是把arr2数组的值与arr合并。可以用DOM之间输出arr查看合并后的结果。
join()函数是把一个数组的每个值合并成一个字符串,默认逗号。如果有join(".");那么每个元素之间是有”.”号分开的。
如果不是字符串,数组里的是数组的话,也是一样的。
sort函数可以对数组里的值进行排序,字符串的话是按字母顺序。
数组的话不知道怎么弄的,下面的代码没有搞懂。
<script type="text/javascript">
function sortNumber(a, b)
{
return a - b
}
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
document.write(arr + "<br />")
document.write(arr.sort(sortNumber))
</script>
</body>
</html>
如果直接用arr.sort(),那么结果是1,10,1000,25,40,5这是什么排序?我看着也不是快速排序的第一步结束。
另外还有好多属性参数可以在w3school中找到。
逻辑Boolean对象是把一个非逻辑值转变成为一个逻辑值。
这里跟别的语言是一样的,0的逻辑值是false,1是true,空字符串是false,null 是逻辑的 false,NaN 是逻辑的 false。”false“字符串不是空的,当然是true咯。
如果定义:var b1=new Boolean("");那么b1的值就是逻辑值false了。不加双引号的false那就是false了,这直接就是逻辑值,区别开字符串。
算数对象是非常熟悉的啦,哪个语言都有个math类?对象~什么的。
例如Math.round()函数是四舍五入函数,记住复数是绝对值的四舍五入再添上负号。
Math.random()函数是创建一个随机数。默认是正小数。
Math.max()函数是求最大值了,这个应当说算是在重载了很多很多次吧,可以试试很多不同形参。
document.write(Math.floor(Math.random()*11)
)
这句话就是随机输出一个0-10的随机数了,floor函数是对值进行一次下舍入,这样就把小数点以后的数舍去了。只是乘以10的话是得不到10的。只能0-9
正则表达式RegExp是一种检索吧,用来检索所需要的内容。
首先是用new 关键词来定义 RegExp 对象,并规定要检索的值:
var patt1=new RegExp("e");那么patt1就是一个正则对象,规定要检索的是字符e。
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。
test() 方法检索字符串中的指定值。返回逻辑值true 或 false
document.write(patt1.test("The best things in life are free"));结果为true。
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null
document.write(patt1.exec("The best things in life are free"));结果为e;说明找到了呀。
那么RegExp对象还是可以在创建时直接添加两个参数的,第二个参数是代表global,表示要搜索所有的字符。
var patt1=new RegExp("e","g");再次运行这个exec函数的话,就会从找到之后的字符开始再次搜索。
do { result=patt1.exec("The best things in life are free"); document.write(result); } while (result!=null)结果是eeeeeenull;也就是说如果没有添加这个参数g,是没有记忆功能的。
这个记忆是存在与这个正则对象里还是这个函数里?不知道。
compile() 方法用于改变 RegExp。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); patt1.compile("d"); document.write(patt1.test("The best things in life are free"));这个就是把E改成了D再次检索,第一次是true第二次是false。这是改变了第一个参数。