常用的js内置对象

js常见的内置对象

  • 对象:属性方法的集合

  • 内置 :js自己封装的对象 ,直接调用就行啦;

Math(数学函数)

  • Math.random() :获取一个0~1之间的随机数

    var a = Math.random();
    console.log(a);
    //0.2992858434076544
  • Math.floor() 向下取整 (经常和随机数一起使用)

var a = 1.999999999;
  a = Math.floor(a);
  console.log(a);
  // 1
  • Math.ceil() 向上取整

    var a = 1.11111;
    a = Math.ceil(a);
    console.log(a);
    // 2
    Math.round()四舍五入
var a = 1.51;
a = Math.round(a);
console.log(a);
// 2
//--------------------------------------------------
var b = 1.49;
b = Math.roend(b);
console.log(b)
//1
  • Math.abs() 绝对值

var a = -1.51;
a = Math.abs(a);
console.log(a);
// 1.51
//-------------------------------------------------------
var b = 1.49;
b = Math.abs(b);
console.log(b)
//1.49
  • Math.max()最大值

console.log(Math.max(10, 20)); //20;

Date 时间

  • 语法:

var date = new Date(); // 得到的是当前时间的日期对象
  • 获取年月日时分秒

console.log(date.getFullYear());// 年份
console.log(date.getMonth()+1); // 月份,从0开始
// 当前日 为什么不是getDay() 英语:日期date,day某天;
console.log(date.getDate()); 
​
console.log(date.getHours()); // 小时,0-23
console.log(date.getMinutes()); // 分钟 , 0-59
console.log(date.getSeconds()); // 秒数 , 0-59
console.log(date.getMilliseconds()); // 毫秒 0-999 , 1秒 = 1000毫秒
  • 创建一个指定日期的对象

// 给一个日期格式字符串
var date = new Date('2019-01-01');

// 分别传入年月日时分秒。注意传入的月份是从0开始算的
var date = new Date(2019,0,1,12,33,12);
  • 获取从1970年1月1日到现在的总毫秒数,常说的时间戳

var date = new Date();

console.log(date.valueOf());
console.log(date.getTime());
console.log(1*date);

console.log(Date.now());

Array 数组

对元素的操作

  • .push()从后面添加一个或多个元素

var arr = [1, 2, 3];
arr.push(4, 5);
console.log(arr);
//[1, 2, 3, 4, 5]
  • .pop() 删除最后一个元素

var arr = [1, 2, 3];
arr.pop();
console.log(arr);
//   [1, 2]
//返回值是删除后的元素
  • .unshift 在数组的前面添加一个 或 多个元素

var arr = [1, 2, 3];
arr.unshift("11", "22");
console.log(arr);
//   ["11", "22", 1, 2, 3]
  • .shift 删除第一个元素

var arr = [1, 2, 3];
arr.shift();
console.log(arr);
//   [2, 3]
//返回值 是删除的元素
  • .splice 对数组任意位置进行增删改

    • 删除

    //第一个为下标(索引)第二个是删除的个数
    // 返回:被移除元素的数组
      var arr = [1, 2, 3, 4, 5, 6, 7];
          arr.splice(1, 2);
      console.log(arr);
    //   [1, 4, 5, 6, 7]
    • 增加

    //()里面两个值时 第一个为下标(索引)第二个是增加的个数 第三 , 四,五个值是添加的元素
    // 返回:一个空数组
      var arr = [1, 2, 3, 4, 5, 6, 7];
      arr.splice(1, 0, 8, 9);
      console.log(arr);
      //   [1, 8, 9, 2, 3, 4, 5, 6, 7]
    • 修改

    //()里面两个值时 第一个为下标(索引)第二个是修改的的个数 第三个值是修改的元素
    // 返回:被替换元素的数组
      var arr = [1, 2, 3, 4, 5, 6, 7];
      arr.splice(1, 1, '8');
      console.log(arr);
      //  [ 1, "8", 3, 4, 5, 6, 7]

与字符串互转

  • .split 把字符串转换为数组

//把字符串转换成数组
  var str = '1-2-2-3';
  var arr = str.split('-');
  console.log(arr);
  //  ["1", "2", "2", "3"]
  • .join 把数组转换为字符串

//把数组转换成字符串
  var arr = ['1', '2', '4'];
  var str = arr.join('-');
  console.log(str);
  //  1-2-4

查找元素

  • .indexOF 查找数组的元素 如果有返回下标 没有返回-1

var arr = [20, 30, 40];
console.log(arr.indexOf(30));//1
console.log(arr.indexOf(50));//-1
  • .findIndex 返回满足条件第一个索引 如果 没有满足 则返回-1

var arr = [10, 20, 30, 49];
  var res1 = arr.findIndex(function(item) {
    return item >= 30;
  });
  // 返回 满足条件的第一个元素的的索引
  console.log(res1);//2
//---------------------------------------------------------------

var arr = [10, 20, 30, 49];
  var res1 = arr.findIndex(function(item) {
    return item >= 50;
  });
  // 返回 满足条件的第一个元素的的索引 条件不成立 返回-1
  console.log(res1);//-1

遍历数组

  • for循环

    var arr = [10, 20, 30, 49];
    for (var i = 0; i<arr.length;i++){
        console.log(arr[i])//10 20 30 49
    }

     

  • forEach

//第一种
var arr = [10, 20, 30, 49];
  arr.forEach(item => {
    console.log(item);//10 20 30 49
  });
  //---------------------------------------------------------
  //第二种
  var arr = [10, 20, 30, 49];
  //item 属于数组的元素 index 是索引
  arr.forEach(function(item, index) {
    console.log(item, index);//10 20 30 49
  });
  • for in 返回数组的索引

var arr = [10, 20, 30, 49];
  //key 是数组的索引
  for (const key in arr) {
    console.log(arr[key]);//10 20 30 49
  }
  • .filter 返回满足条件的元素 如果不满足 返回一条空数组

var arr = [10, 20, 30, 49];
var res = arr.filter(function(item, index, arr) {
//返回小于条件的元素
//如果没有 返回一个空数组
return item > 30;//10,20
})
console.log(res);

//----------------------------------------------------


var arr = [10, 20, 30, 49];
var res = arr.filter(function(item, index, arr) {
//返回小于条件的元素
//如果没有 返回一个空数组
return item < 50;//[]
})
console.log(res);

拼接与截取

  • .concat 拼接数组 返回值是新的数组

//里面有两个参数得时候
var arr = [1, 2];
var arr_1 = [3, 4];
var arr_2 = [5, 6];
//   数组拼接 
//返回值是 新的数组
//可以写一个 也可以写多个
arr = arr.concat(arr_1, arr_2);//1,2,3,4,5,6

console.log(arr, arr.concat());
 
  • slick

//里面有一个参数的时候
var arr =   [1, 2, 3, 4, 5, 6];

//截取下标为2 以后的元素  不包含2
//返回新的数组
arr = arr.slice(2); //3,4,5,6

console.log(arr);
//------------------------------------------------------------
//当没有参数的时候 截取的是所有的元素
var arr =   [1, 2, 3, 4, 5, 6];

//截取下标为2 以后的元素  不包含2
//返回新的数组
arr = arr.slice(); //1,2,3,4,5,6

console.log(arr);

 

复制

//复制
var arr =   [1, 2, 3, 4, 5];
var new_arr = [];
arr.forEach(function(item, index) {
new_arr.push(item);
})
console.log(new_arr);

string(字符串)

不可变

  • 旧的字符串赋值在一个变量上,给变量重新赋值新的字符串(完全新的字符串,或者拼接后字符串),旧的字符串不是被覆盖;在内存的游离状态;

  • **所以尽量避免大量使用字符串的拼接;这个算性能优化的一点;


查找

 

  • ** .indexOf** 字符串中如果存在 就返回下标 没有就返回-1

var str = '我爱你中国';
//如果查找的参数是字符串 那就返回的是下标,没有找到 就会返回-1
console.log(str.indexOf('我w'));
  • .charAt差字符串如果存在 就返回元素没有 就会返回空

var str = '我爱你中国';
//如果查找的参数是字符串 那就返回的是元素,没有找到 就会返回空
console.log(str.charAt(9));
  • charCodeAt 这个方法用于获取字符串中位于指定位置的字符的ASCII码

// 这个方法用于获取字符串中位于指定位置的字符的ASCII码
var str = 'abcdef'
console.log(str.charCodeAt(0));

拼接与截取

  • +

  • concat拼接

var str = '123321';
var str_1 = '234';
str = str.concat(str_1);
console.log(str);//123321234
//-----------------------------------------
//也可以直接写字符串
var str = '123321';
str = str.concat('234');
console.log(str);
  • substring 截取字符串 不操作源字符串 返回值是新的字符串

var str = '123321';
//包左不包右
//从索引1开始到索引4  不写索引 返回整个字符串 写一个索引 返回这个索引右边的元素 
str = str.substring(1, 4);
console.log(str);
  • substr

var str = '123321';
//从索引1开始 索引4结束
str = str.substr(1, 4); //2332
console.log(str);

猜你喜欢

转载自www.cnblogs.com/lwa1999/p/11528820.html