共计 5037 个字符,预计需要花费 13 分钟才能阅读完成。
Array
-
创建数组的基本方式有两种:
-
使用 Array 构造函数
- 语法:new Array()
- 例子:var num = new Array();
-
使用数组字面量表示法
- 例子:var colors = [“red”,”yellow”];
-
- 获取数组长度:arr.length
-
数组的栈和队列方法:
- push() 添加
- pop() 删除并返回数组最后一元素
- unshift() 添加到数组的最前面
- shift() 删除并返回数组第一个元素
var colors = new Array(); | |
var count = colors.push("red","green","orange"); | |
console.log(count); //3 | |
var item = colors.pop(); // 取得最后一项 orange | |
console.log(item); | |
console.log(colors.length); //2 | |
var colors = new Array(); | |
var count = colors.unshift("red","green"); | |
count = colors.unshift("black"); // 添加到数组第一个元素 | |
console.log(colors); | |
var item = colors.shift(); // 取得第一项 black | |
console.log(item); | |
console.log(colors.length); //2 |
- 将数组转换为字符串:join() 语法:arr.join(separator)
var words = ["border","left"]; | |
var wordstr = words.join(); | |
console.log(wordstr); // 结果为:border,left join() 默认是逗号隔开 | |
var wordstr = words.join("-"); | |
console.log(wordstr); // 结果为:border-left |
- 反转数组顺序:arr.reverse()
var values = [1,2,3,4,5]; | |
var newValues = values.reverse(); | |
console.log(newValues); |
- 数组排序:arr.sort();
var arr = [9,5,45]; | |
arr.sort(function(a,b){return b-a}); // 降序 | |
arr.sort(function(a,b){return a-b}); // 升序 |
- 连接两个或多个数组:concat()
var arr1 = ["a","b"], | |
arr2 = ["c","d"], | |
arr3; | |
arr3 = arr1.concat(arr2); | |
console.log(arr3); |
- 从已有的数组中返回选定的元素:arr.slice(start,end)
var colors = ["red","green","blue"]; | |
var newColors = colors.slice(1,2); | |
console.log(newColors); // 结果输出 green | |
var newColors = colors.slice(0); | |
console.log(newColors); // 结果输出 ["red","green","blue"] | |
var newColors = colors.slice(-1,3); // 负数 + 数组长度 | |
console.log(newColors); // 结果输出 blue |
-
splice() 方法删除数组项、插入数组项、替换数组项
- 删除
语法:arr.splice(index,count)
- 删除
var arr = ["a","b","c"]; | |
var delArr = arr.splice(1,1); | |
console.log(delArr); // 返回 b |
- 插入
语法:arr.splice(index,0,item1,..intemX) 起始位置,要删除的项数,要插入的项
var arr = ["a","b","c"]; | |
var insertArr = arr.splice(3,0,"m"); | |
console.log(arr); //["a","b","c","m"] |
- 替换
var arr = ["a","b","c"]; | |
var replaceArr = arr.splice(1,2,"x","y"); | |
console.log(replaceArr); //["b","c"] | |
console.log(arr); //["a","x","y"] |
-
ECMAScript 为数组实例化添加的两个位置方法:
- indexOf()
语法:arr.indexOf(searchvalue,startIndex) 参数一:必需,要查找的项;参数二:可选,起点位置的索引
- indexOf()
// 功能:从数组的开头(位置 0)开始向后查找,没有找到的情况下返回 -1 | |
var nums = [1,2,3,4,5,6]; | |
var pos = nums.indexOf(2); | |
console.log(pos); // 返回 3 的位置 2 |
- lastIndexOf()
var nums = [1,2,3,4,5,2,6]; | |
var pos = nums.lastIndexOf(2); | |
console.log(pos); // 返回 2 的位置 5 |
String
-
字符方法:
- chartAt()
- charCodeAt()
// 访问字符串中的特定字符 | |
var str = "hello world"; | |
console.log(str.charAt(0)); // 返回本身字符 h | |
console.log(str.charCodeAt(0)); // 返回本身的字符编码 104 |
-
字符串操作方法:
- concat()
// 用于将一或多个字符串拼接起来,返回拼接得到的新字符串 | |
// 但实践中使用更多是加号操作符(+)var str = "hello"; | |
var result = str.concat("world"); | |
console.log(result); // 输出 hello world |
- 截取子字符串:slice(start,end)、substring(start,end)、substrr(start,len) len 代表返回字符个数
//start: 必需,指定子字符串的开始位置 end:可选,表示子字符串到哪里结束 | |
var str = "hello world"; | |
console.log(str.slice(3)); //lo world | |
console.log(str.substring(3)); //lo world | |
console.log(str.substr(3)); //lo world | |
console.log(str.slice(3,5)); //lo | |
console.log(str.substring(3,5)); //lo | |
console.log(str.substr(3,5)); //lo wo | |
console.log(str.slice(-3)); //rld 负数 + 字符串长度 | |
console.log(str.substring(-3)); //hello world 会将所有负值参数都转换为 0 | |
console.log(str.substr(-3)); //rld | |
console.log(str.slice(3,-4)); //lo w | |
console.log(str.substring(3,-4)); //hel | |
console.log(str.substr(3,-4)); //""(空字符串)参数一:负数 + 字符串长度 参数二:转换为 0 |
- 总结:slice()、substr()、substring() 基于字符串创建新字符串的方法,第一个参数指定子字符串的开始位置,第二个参数(在指定的情况下)表示子字符串到哪里结束。slice() 和 substring() 的是子字符串最后一个字符后面的位置。而 substr() 的第二个参数指定的则是返回字符的个数。如果没有给这些方法传递第二个参数,则将字符串的末尾作为结束位置
-
字符串位置方法
- indexOf()
- lastIndexOf()
// 从一个字符串中搜索给定的子字符串,返回子字符串的位置 | |
// 返回值:数值 | |
// 如果没有找到该子字符串,则返回 -1 | |
var email= "marry@163.com"; | |
console.log(email.indexOf("@")); // 返回 5 | |
var email= "marry.mail@163.com"; | |
console.log(email.lastIndexOf(".")); // 返回 14 |
- 示例:
// 获取扩展名 | |
var url = "http://baidu.com/index.txt"; | |
function getFileFormat(url){var pos = url.lastIndexOf("."); | |
return url.substr(pos); | |
} | |
var formatName = getFileFormat(url); | |
console.log(formatName); |
- trim() 方法
// 删除前置及后缀的所有空格 | |
var str = "hello world"; | |
var newStr = str.trim(); | |
console.log(newStr); //hello world |
- 字符串大小写转换
var str = "hello world"; | |
console.log(str.toUpperCase()); // 大写 | |
console.log(str.toLowerCase()); // 小写 |
- 把一个字符串分割成字符串数组:split()
var str = "welcome-to-beijing"; | |
var arr = str.split("-"); | |
console.log(arr); // 输出 ["welcome", "to", "beijing"] |
- 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串:replace()
var str = "cat,bat,sat"; | |
var result = str.replace("at","ond"); | |
var newResult = str.replace("/at/g","ond"); // 替换所有 | |
console.log(result); // 输出 cond,bat,sat 只是替换第一个 |
Math
- min() 和 max() 方法
var max = Math.max(1,2,3,4); | |
console.log(max); //4 | |
var min= Math.min(1,2,3,4); | |
console.log(min); //1 |
- 舍入方法 Math.ceil() Math.floor() Math.round()
console.log(Math.ceil(25.6)); //26,向上舍入 | |
console.log(Math.round(25.5)); //26,四舍五入 | |
console.log(Math.floor(25.6)); //25,向下舍入 |
- random() 方法
// 值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值 ) | |
var num = Math.floor(Math.random() * 10 + 1); | |
console.log(num); // 输出 1 -10 之间的数值 | |
var num = Math.floor(Math.random() * 9 + 2); | |
console.log(num); // 输出 2 -10 之间的数值 |
Date
- 创建一个日期对象
var now = new Date();
- 日期格式化方法
var now = new Date(); | |
console.log(now.toDateString()); //Wed May 01 2019 | |
console.log(now.toTimeString()); //11:26:38 GMT+0800 (中国标准时间) | |
console.log(now.toLocaleDateString()); //2019/5/1 | |
console.log(now.toLocaleTimeString()); // 上午 11:26:38 | |
console.log(now.toUTCString()); //Wed, 01 May 2019 03:26:38 GMT |
- 日期 / 时间组件方法
set/getFullYear 设置 / 返回 4 位数的年份 set/getMonth() 设置 / 返回月份(0 表示一月,11 表示十二月)set/getDate() 设置 / 返回天数(1 到 31)set/getDay() 设置 / 返回星期几(0 表示星期日,6 表示星期六)set/getHours() 设置 / 返回小时(0 到 23)set/getMinutes 设置 / 返回分钟数(0 到 59)set/getSeconds 设置 / 返回秒数(0 到 59)
第一次尝试着写,写得不好的地方,请多多指教
正文完
发表至: javascript
2019-05-01