JavaScript02_函数&内置对象
来源:互联网 发布:于谦 暗黑英雄 知乎 编辑:程序博客网 时间:2024/05/15 04:07
- 函数定义
- 内置对象 Array String Math Date
- Array
- 元素的类型可以不同
- arraylength
- 数组的栈方法 push unshift pop shift
- 数组的转换方法 join reverse sort
- 数组连接和分割 concat slice splice
- indexOf
- String
- charAt charCodeAt indexOf lastIndexOf
- slice subString subStr
- split replace
- toUpperCase toLowerCase
- Array
1. 函数定义
function add(num1, num2) { return num1 + num2;}var sum = add(1, 6);alert(sum);//可以用arguments来管理参数列表,是一个数组arguments[i];arguments.length;arguments只是用来管理参数列表,和数组不是一个概念
2. 内置对象 — Array、 String、 Math、 Date
1. Array
1. 元素的类型可以不同
//两种创建数组的方法:var colors = new Array();var numbers = new Array(1, 2, 3, 4);var infos = ["hahaha", 12, true];
2. array.length
如果设置length属性小于实际数组元素的数量,会产生截断效果
如果原有5个元素,突然设置一个arr[99]=100; 那么length会变为100,而不是6
3. 数组的栈方法 push unshift pop shift
var colors = new Array();colors.push("blue");//push方法返回数组的lengthvar numbers = [2, 7, 8, 6];var len = numbers.unshift(12, 33); //len = 6alert(numbers); // numbers = 12, 33, 2, 7 ...//arr.pop() 返回删除的最后一个元素的值//arr.shift() 返回删除的第一个元素的值
4. 数组的转换方法 join reverse sort
var nums = [2, 4, 5];var str = nums.join(); // 返回字符串 2, 4, 5var words = ["hello", "world"];var str = words.join(""); // helloworldvar str = words.join("-"); // hello-world//---------------arr.reverse() // 反向输出数组//---------------arr.sort(sortby); // 先调用toString(),按首字母排序,比如12, 23, 9arr.sort(function(a, b) {return b-a}); //降序
5. 数组连接和分割 concat slice splice
arr1.concat(arr2); //返回一个Stringarr.slice(start, end); //如果start是负数,则从数组尾部开始;end可以省略,end表示截取到第几个,不是截取几个var colors = ["red", "green", "blue"];alert(colors.slice(0, 2)); //red,greenslice(-1, 3); // arr.length + (-1), 3
a是一个数组,b是undefined,想把a的元素复制给b 1: 遍历a,b.push(a[i]); 2: b.concat(a); 3: b = a.slice(0); //a从0开始截取至最后
splice删除、插入、替换
arr.splice(2, 3); //从索引为2开始,删除3个元素,返回被删除的元素arr.splice(2, 0, "abc"); //在索引为2的地方,插入“abc” 返回[]arr.splice(1, 2, "x", "y", "z"); //从索引为1的位置,删除两个元素,再插入xyz三个元素到原位置
6. indexOf()
arr.indexOf(99); 返回99的索引,找不到就返回-1
arr.indexOf(7, 2); 返回从索引为7开始,2所在的索引
arr.lastIndexOf(1); 从后向前搜索
function arrayIndexOf(array, value) { for (var i = 0; i < array.length; i++) { if(value === array[i]) { //=== return i; } return -1; }}
2. String
1. charAt() charCodeAt() indexOf() lastIndexOf()
str[index]; //IE7之后可以这样访问String的元素str.charAt(index); //返回str索引为index的字符str.charCodeAt(index); // 返回该字符的编码
str.indexOf("hello"); //返回该子串的索引str.lastIndexOf("0"); //从后向前搜索
2. slice() subString() subStr()
怎么感觉和数组的一样呢
str.slice(start, end); //start从0开始数,end从1开始数subString(); 和slice一样,只是在遇到负数时,转换为0subStr(6, 3); 从索引为6开始,截取3个元素,这方法才好使
4. split() replace()
split() 返回的是数组
String 和 Array 相互转换:split() <==> join(“”)
5. toUpperCase() toLowerCase()
阅读全文