web内置对象

内置对象,宿主对象,自定义对象的区别?
    内置对象:
        系统所提供的对象:Object,Array,Math,Date等等。
    宿主对象:
        JS所运行的环境提供的对象:BOM中的window,DOM中的document
    自定义对象:
        自定义构造函数所创建的对象 。
 
Array类型对象:
数组创建方式:
    方式1:构造函数Array
// 语法:
var 数组名 = new Array(数据,数据,数据);
// 代码:
var names = new Array('张三','李四','王五','赵六');
    方式2:数组字面量(推荐 )
// 语法:
var 数组名 = [数据,数据,数据];  // 数组字面量
// 代码:
var names = ['张三','李四','王五','赵六'];
数组对象常用的方法:
    1.向前后数组添加元素:unshift()开头添加   push()末尾添加
//  向数组的开头添加一个或更多元素,并返回新的长度。【原数组会发生变化】
数组名.unshift(newelement1,newelement2,....,newelementX);
// 向数组的末尾添加一个或更多元素,并返回新的长度 【原数组会发生变化】
数组名.push(newelement1,newelement2,....,newelementX);
 
   2从数组前后删除元素:shift()开头删除  pop() 末尾删除
// 删除并返回数组的第一个元素 【原数组会发生变化】
数组名.shift();
// 删除并返回数组的最后一个元素 【原数组会发生变化】
数组名.pop();
 
    3.数组任意位置添加,删除    splice()
// 向/从数组中添加/删除项目,然后返回被删除的项目。【原数组会发生变化】
数组名.splice(index,howmany,item1,.....,itemX)
参数:
    index 从哪个位置开始删    数字
    howmany 删除几个    数字
    item1,.....,itemX   新添加的数据(可以是多个)  可选
   4.数组元素的查询     indexOf()第一个索引      lastIndexOf()最后一个索引
// 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
数组名.indexOf(searchElement); 【用的较多】
// 返回指定元素在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找
数组名.lastIndexOf(searchElement);
    5.数组的反转和排序  
// 颠倒数组中元素的顺序。 【原数组会发生变化】
数组名.reverse();
 
// 对数组的元素进行排序
数组名.sort();   // 默认排序顺序是根据字符串Unicode编码 【了解】
数组名.sort(function(a,b){    //【重点】
  return a - b;   // 升序(从小到大)
})
数组名.sort(function(a,b){    //【重点】
  return a - b;   // 升序(从小到大)
})
数组名.sort(function(a,b){    //【重点】
  return b - a;   // 降序(从大到小)
})
    6.数组截取 slice() 和splice()区分开
// 从已有的数组中返回选定的元素。【截取后,不会改变原数组,而是返回新的数组】
数组名.slice(start,end);
   7.数组的拼接  join(‘拼接符’)
// 用于把数组中的所有元素放入一个字符串。
数组名.join(separator);
 
8.数组的其他方法:
// 数组遍历
数组名.forEach(function(value,index,currentArray){
  console.log(value);
});
 
// 过滤出符合筛选条件的元素,返回一个新的数组
数组名.filter(function(value,index,currentArray){
    return 条件;    // 如:return value >= 1000;
});
 
// 验证数组中的每一个元素是否都符合指定的条件,返回布尔值
数组名.every(function(value,index,currentArray){
  return 条件;    // 如:return value >= 1000;
});
 
// 验证数组中的元素,是否有符合指定条件的,返回布尔值
数组名.some(function(value,index,currentArray){
  return 条件;  // 如:return value >= 1000;
});
 
// 遍历数组中的每一个元素,更改后存入一个新的数组中,返回一个新的数组
数组名.map(function(value,index,currentArray){
  return 操作;   // 如:return value * 2;
});
 
字符串对象:
字符串的不可变性:
var str = 'abc';
str = 'hello';
//当重新给str赋值 的时候,数据‘abc’不会被更改,依然在内存里
//当重新给字符串赋值时,会在内存里重新开辟一片空间 ,这就是字符串的不可变性
//在大量拼接字符串的时候会有效率问题
 
为什么基本数据类型字符串可以以像对象一样使用?
// 普通字符串
var str = 'abc';   // 普通字符串不是对象
var len = str.length; // 但是为什么可以像对象一样使用点出东西?
alert(len); // 3
 
//把字符串包装成对象 → 基本包装类型
var strObj = new String('abc');  // 把字符串包装成对象
var len = strObj.length;  // 因为是对象,所以可以点出东西。
alert(len); //3
字符串对象常用方法:
        1.获取字符串的单个字符   charAt(index)
字符串.charAt(index);
字符串[index];      // 推荐使用
        2.字符串拼接   ‘+’ 和截取slice()    
// 拼接
字符串.concat(str1,str2,str3...);
拼接符 +     //推荐使用
 
// 截取
字符串.slice(star,end);
            3.查询字符在字符串中是否存在indexOf()
字符串.indexOf();
字符串.lastIndexOf();
        4.清除空白符  trim()
字符串.trim();  // 去除字符串两边的空格
        5.字母字符 大小写转换  toUpperCase()   toLowerCase()
        6.字符串替换 replace(older,new)
        7.分割字符串split(‘=’)
Math对象
    Math对象常用属性和方法:
            1. Math.abs(数字); 获取一个数字的绝对值
                 2. Math.round(数字); 四舍五入
             3.Math.PI; π
             4.Math.ceil(数字); 向上取整
             5.Math.floor(数字); 向下取整
             6.Math.random(); 随机数[0,1);
             7.Math.max(数字,数字,数字...); 求最大数
             8.Math.min(数字,数字,数字...); 求最小数
 
 
date对象
 
Date类型对象介绍
 
Date类型对象是JavaScript提供的日期和时间的操作接口。它可以表示的时间范围是,1970年1月1日00:00:00前后的各1亿天(单位为毫秒)。
创建Date对象
var 变量名 = new Date();   // 创建当前时间对象
var date = new Date();
console.log(date);
方法2
var 变量名 = new Date(stringdate);  // 创建指定的时间对象
// 参数 stringdate, 字符串格式→ 'year-month-date hh:mm:ss'   或  'year/month/date hh:mm:ss'
var date = new Date('2018/10/16 12:12:12');
var date2 = new Date('2018-10-16 12:12:12');
console.log(date);
console.log(date2);
方法3
var 变量名 = new Date(value);  // 创建1970年开始value毫秒后的时间对象
// 参数 value, 数字,指的是毫秒数
var date = new Date(99999999999);
console.log(date);
 
常用的Date类型对象方法
1获取和设置年月日
日期对象.getFullYear() / 日期对象.setFullYear(数字) // 年
 
日期对象.getMonth() / 日期对象.setMonth(数字)   // 月
注意:获取月份是从0开始的
 
日期对象.getDate() / 日期对象.setDate(数字)  //日
2获取和设置时分秒
日期对象.getHours()  /  日期对象.setHours(数字)  // 时
 
日期对象.getMinutes()  /  日期对象.setMinutes(数字) // 分
 
日期对象.getSeconds()  /  日期对象.setMinutes(数字) // 秒
 
对象. getMilliseconds()  / 对象.setMilliseconds(数字) // 毫秒
3获取星期数
日期对象.getDay();   // 0-6(周日0到周六6) 不能够设置,原因是周天是由今天的日期决定的。
4获取1970年至指定时间的总毫秒数
日期对象.getTime()  /  日期对象.setTime(数字);
posted @ 2018-11-16 11:41  晴天web  阅读(422)  评论(0编辑  收藏  举报