javaScript常用内置对象

34次阅读

共计 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) 参数一:必需,要查找的项;参数二:可选,起点位置的索引
// 功能:从数组的开头(位置 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)

    第一次尝试着写,写得不好的地方,请多多指教

    正文完
     0