JavaScript基础-内置对象使用

1.内置对象

JavaScript中的对象分为4种:内置对象、浏览器对象、自定义对象、DOM对象。JavaScript 提供多个内置对象:Math/Array/Number/String/Boolean ... ...。对象只是带有属性和方法的特殊数据类型。学习一个内置对象的使用,只要学会其常用的成员的使用(通过查文档学习)。内置对象的方法很多,我们只需要知道内置对象提供的常用方法,使用的时候查询文档。

(1)、如何学习一个方法?

方法的功能、参数的意义和类型、返回值意义和类型、demo进行测试

2.Math对象

Math对象不是构造函数,它具有数学常数和函数的属性和方法,都以静态成员的方式提供。

跟数学相关的运算来找Math中的成员(求绝对值,取整)。

(1)、常用属性

Math.PI    圆周率

(2)、常用方法

Math.random()      生成随机数

Math.floor()         向下取整

Math.ceil()          向上取整

Math.round()        取整,四舍五入

Math.abs()          绝对值

Math.max()         最大值

Math.min()         最小值  

Math.sin()          正弦

Math.cos()          余弦

Math.pow()         求指数次幂

Math.sqrt()         求平方根

3.Date对象

创建Date实例用来处理日期和时间。Date 对象基于1970年1月1日(世界标准时间)起的毫秒数。

  1. 、创建日期对象

Date()是构造函数

var date = new Date();

获取到的是1970年1月1日至今的毫秒数

  1. 、日期原始值

getTime():获取1970年1月1日至今的毫秒数

valueOf();原始值,获取1970年1月1日至今的毫秒数     

(3)、获取日期指定部分
    getMilliseconds()     // 返回0-999
    getSeconds()         // 返回0-59
    getMinutes()          // 返回0-59
    getHours()            // 返回0-23
    getDay()              // 返回星期几 0周日   6周6
    getDate()             // 返回当前月的第几天
    getMonth()            // 返回月份,***从0开始***
    getFullYear()          //返回4位的年份  如 2016

4.Array对象

  1. 、创建数组对象的两种方式

1、字面量方式

2、new Array()

  1. 、检测一个对象是否是数组

Array.isArray() 如果返回true就是数组,false是非数组

valueOf()     返回数组对象本身

  1. 、栈操作(先进后出)

栈:表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素
    push()  在数组的末尾添加一个或多个元素;
    pop()   把数组中的最后一个元素删除

  1. 、队列操作(先进先出)

shift()   把数组中的第一个元素删除
    unshift() 在数组的前端添加一个或多个元素;

  1. 、排序方法

reverse()   翻转数组
    sort(sortby); sortby,可选参数,规定排序顺序,必须是函数  如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

  1. 、操作方法

concat()    把参数拼接到当前数组、 或者用于连接两个或多个数组
    slice(start,end)     1、从start开始截取元素,到end结束,包括start,不包括end,返回新数组,start,end是索引,

2、不会改变原始数组

splice()    1、从start开始截取元素,截取length个,,返回新数组,start是索引,length是个数

2、会改变元素的数组

  1. 、位置方法

indexOf()        都是找位置 返回索引值 没有找到返回 -1,第一次出现位置

lastIndexOf()   如果没找到返回-1,元素最后一次出现的位置

上述方法只是查找顺序不一样 结果都是索引值

  1. 、数组迭代方法

迭代(即是不停的代换)

1、forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数

array.forEach(function(currentValue, index))

currentValue  必需。当前元素

Index   可选。当前元素索引值

可以拿到每个数组中的值,没有返回值

问题思考:迭代方法究竟会不会改变原来的值?

2、every() some()方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

some(),every()方法的参数是一个回调函数,回调函数中的第一个参数是数组的元素,第二个参数是数组的索引

 some(),every()方法都会返回新的数组

公式: var flag1 = arr3.every(function (value, index) {

                return value > 55;

})

          console.log(flag1);

 var flag2 = arr3.some(function (value, index) {

    return value >= 88;

  })

  console.log(flag2)

every():判断回调函数中的表达式是否全部满足,如果满足,返回值就是true,只要有一个不满足就是false

some判断回调函数中的表达式是否有一个满足,如果至少一个满足,返回值就是true

3、filter ()与map ()

filter()根据指定条件过滤元素,返回新数组 ;

map()数根据数学运算,返回新数组

//filter():根据指定条件过滤元素,返回新数组

  var new1 = arr.filter(function (value, index) {

    return value >= 33;

  })

  console.log(new1);

  //map():根据数学运算,返回新数组

  var new2 = arr.map(function (value, index) {

    return Math.pow(value, 2);

  })

  1. 、清空数组

方式1 推荐 
        arr = []
    方式2 
        arr.length = 0
    方式3
        arr.splice(0, arr.length)

  1. 、数组转化字符串

join()数组转化为字符串,以参数分割

演示示例:数组对象(二)

课堂练习:考试成绩表

5.基本包装类型

为了方便操作基本数据类型,JavaScript还提供了三个特殊的引用类型:String/Number/Boolean

// 下面代码的问题?
// s1是基本类型,基本类型是没有方法来操作的
var s1 = 'zhangsan';
var s2 = s1.substring(5);

// 当调用s1.substring(5)的时候,先把s1包装成String类型的临时对象,再调用substring方法,最后销毁临时对象, 相当于:
var s1 = new String('zhangsan');
var s2 = s1.substring(5);
s1 = null;


// 创建基本包装类型的对象
var num = 18;               //数值,基本类型
var num = Number('18');     //类型转换
var num = new Number(18);   //基本包装类型,对象
// Number和Boolean基本包装类型基本不用,使用的话可能会引起歧义。例如:
var b1 = new Boolean(false);
var b2 = b1 && true;        // 结果是什么

6.String对象

(1)、字符串的不可变

var str = 'abc';
str = 'hello';
// 当重新给str赋值的时候,常量'abc'不会被修改,依然在内存中
// 重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
// 由于字符串的不可变,在大量拼接字符串的时候会有效率问题

(2)、创建字符串对象

var str = new String('Hello World');
// 获取字符串中字符的个数
console.log(str.length);

(3)、字符串对象的常用方法

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串

1 字符方法
    charAt()        //获取指定位置处字符
    charCodeAt()    //获取指定位置处字符的ASCII码
    str[0]          //HTML5,IE8+支持 和charAt()等效
    2 字符串操作方法
    concat()        //拼接字符串,等效于+,+更常用
    slice(start,end)         //从start位置开始,截取到end位置,end取不到
    substring(start,end)     //从start位置开始,截取到end位置,end取不到
    substr(start,length)         从start位置开始,截取length个字符
    indexOf()       //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从前往后,检索到第一个就结束)
    lastIndexOf()   //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从后往前,检索到第一个就结束)
    trim()          //只能去除字符串前后的空白
    大小写转换方法
    toUpperCase()   //转换大写
    toLowerCase()   //转换小写
    search()//方法用于检索字符串中指定的子字符串,返回子字符串的起始位置
    replace(old,new) //替换字符串替换字符串 new替换old
    split() //分割字符串 返回的是一个数组。。数组的元素就是以参数的分割的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值