JavaScript的学习笔记(day08)

1.基本包装类型

在es中有三种数据类型可以用调用其对象的静态方法 这三种基本类型为String,Number,Boolean

2.基本包装类型如何使基本数据类型可以调用对象方法

  2.1 自动创建一个该属性的对象实例
  2.2 调用实例对象的指定方法
  2.3 销毁这个实例

3.什么时候会自动创建对应的基本包装类型对象

  当这一行代码会读取该基本类型的值时 
  例: var str = 'BadErc' var str1 = str
  当进行赋值操作时会从内存读取这个数据的值,这时候会创建一个基本包装类型的对象,但是当这个赋值操作完成时,这个对象实例会被立即销毁

4.基本包装类型和引用类型的差别

  引用类型:当使用构造函数进行创建对象实例后,这个实例对象会一直保存在内存中,直到执行流离开了当前作用域
  基本包装类型:只有这一行代码需要读取这个数据的值时创建,在这一行代码的操作完成后就立即销毁

5.给基本包装类型添加方法或属性(不建议!!!!)

  5.1 String.prototype.函数名 = function(){函数体}
  5.2 var str = new String(); str.name = 'HI'
  注意:一般不推荐给基本包装类型添加方法和属性,因为会导致分不清基本数据类型和引用类型

6.基本包装类型的属性及方法

6.1 Boolean 没有特定的属性和方法,一般直接把Boolean当作工具方法使用,即 Boolean()

6.2 Number
   	6.2.1 内置属性 静态 可以直接调用
     MAX_VALUE 最大值
     MIN_VALUE 最小值
     NaN       非数字
     NEGATIVE_INFINITY 负无穷大
     POSITIVE_INFINITY 正无穷大
     prototype 构造方法
   	6.2.2 内置方法 对象方法
     toString 把数字转换成为字符串
     toLocaleString 把数字使用本地化的格式转化成为字符串
     toFixed 把数字转化成字符串,结果的小数点后返回指定位数
     toExponential 把数转化为指数计数法
     toPrecision 把超出指定位数的转化为指数计数法
     valueOf 返回Number对象的数值
6.3 String 
    6.3.1 对象属性 直接引用
      constructor 原型对象
      length 字符串长度
      prototype 构造方法
    6.3.2 字符方法
      charAt(index) index为必须,返回指定索引位置的字符 类似str[2]
      charCodeAt(index) index为必须,以Unicode编码返回当前索引位置的字符
    6.3.3 字符操作方法
      concat(str1,...,strX) 连接一个或多个字符串
      slice(start, end) 提取字符串段,并在新的字符串中返回被提取部分,start和end可以为负数,即从末尾开始截取
      substring(start,end) 提取两个索引间的字符串,不包括end,即start<= str <end,如果不存在end则从start开始至末尾提取,start和end不能为负数
      substr(start, length) 从start开始提取length个长度的字符,start可以为负数
    6.3.4 字符串位置方法
      indexOf(str, n) 从n开始搜索第一个str,返回其索引值,没找到返回-1
      lastIndexOf(str, n) 从n开始搜索最后一个str,返回其索引值,没找到返回-1
    6.3.5 大小写转化方法
      toLowerCase() 转化成小写
      toUpperCase() 转化成大写
      toLocaleLowerCase() 转化为本地化小写
      toLocaleUpperCase() 转化为本地化大写
    6.3.6 字符串模式匹配方法
      match() 一个或多个与正则表达式匹配的字符
      replace() 替换与正则表达式匹配的字符
      search() 检索与正则表达式匹配的字符
      split() 把字符串分割为字符数组

7.Math对象

  概念:用于执行数学相关人物
  注意:Math没有构造函数Math(),所以并不需要创建
  对象属性:
    E: 算术常量e,自然对数的底
    LN2: 2为的自然对数
    LN10: 10的自然对数
    LOG2E: 以2为底的e的对数
    LOG10E: 以10为底的e的对数
    PI: 圆周率
    SQRTI_2: 2的平方根倒数
    SQRT2: 2的平方根
  对象方法:
    min(): 一组书中的最小值
    max(): 一组书中的最大值
    ceil(): 向上取整,即超过就+1
    floor(): 向下取整,即只取整数部分,舍弃小数
    round(): 四舍五入
    random(): 随机数

8.Date对象

  Date对象的创建:var date = new Date()
  Date对象在创建时可以输入多个参数:
    第一个参数表示年
    第二个参数表示月份,月份从0开始计数,0表示1月,11表示12月
    第三个参数表示该月份的第几天,1~31
    第四个参数表示当天的几点,0~23
    第五个参数表示的是该小时的多少分钟,0~59
    第六个参数表示该分钟的多少秒,0~59
  常用对象方法:
    toString()/toLocaleString() 转化为字符串/转化为本地格式字符串
    getFullYear() 获取字符串中的年份
    getMonth() 获取字符串中的月份 以0开始,0为一月
    getDate() 获取字符串中的天
    getHours() 获取字符串中的时
    getMinutes() 获取字符串中的分
    getSeconds() 获取字符串中的秒
    getDay() 获取字符串中的周几
    getTime() 获取时间戳

9.拓展库

  9.1 Moment.js 日期处理类库
    时间戳转换:moment(时间戳).formate('YYYY-MM-DD') 将时间戳转化为YYYY-MM-DD格式
  9.2 lodash 高效工具库
    实现深拷贝:var obj = {name:'BadErc'} var obj2 = _.cloneDeep(obj)
    拆分为等宽数组:_.chunk([1,2,3,4],2) =》 [[1,2],[3,4]]
    排除假值(false,null,0,'',undefined,NaN):_.compact([0,1,false,'']) =》 [1]
    数组切片(排除前n个元素, 默认为1):_.drop([1,2,3]) =》 [2,3]
    返回第一次找到value的下标:_.indexOf([1,2,3,1], 1, 0) =》 0
    数组去重:_.uniq([1,2,1]) =》 [1,2]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值