JS中的Prototype,Number,String,Date,Array,Math总结

总览
在这里插入图片描述

prototype原型对象

所有JS对象都会从一个 prototype(原型对象)中继承属性和方法:

  • Date 对象从 Date.prototype 继承。
  • Array 对象从 Array.prototype 继承。
  • Person 对象从 Person.prototype 继承。

JavaScript 对象有一个指向一个原型对象的链。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。

添加属性和方法

function Person(first, last, age, eyecolor) {  
    this.firstName = first;  
    this.lastName = last;  
    this.age = age;  
    this.eyeColor = eyecolor; 
}  
Person.prototype.name = function() {  
    return this.firstName + " " + this.lastName; 
};

Number

精度

  • 整数

    不使用小数点或指数计数法)最多为 15 位

  • 小数

    最大位数是 17,但是浮点运算并不总是 100% 准确

  • 八进制和十六进制

    如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数;

    如果前缀为 0 和 “x”,则解释为十六进制数。

  • 无穷大(Infinity)

    基于它们的加、减、乘和除运算结果还是无穷大

NaN - 非数字值

指示某个值不是数字

isNaN() 全局函数来判断一个值是否是 NaN 值。

var x = 1000 / "Apple";
isNaN(x); // 返回 true
var y = 100 / "1000";
isNaN(y); // 返回 false

Number 属性

属性描述
Number.MAX_VALUE最大值
Number.MIN_VALUE最小值
Number.NaN非数字
Number.NEGATIVE_INFINITY负无穷,在溢出时返回
Number.POSITIVE_INFINITY正无穷,在溢出时返回
Number.EPSILON表示 1 和比最接近 1 且大于 1 的最小 Number 之间的差别
Number.MIN_SAFE_INTEGER最小安全整数。
Number.MAX_SAFE_INTEGER最大安全整数。

数字方法

方法描述
Number.parseFloat()将字符串转换成浮点数,和全局方法 parseFloat() 作用一致。
Number.parseInt()将字符串转换成整型数字,和全局方法 parseInt() 作用一致。
Number.isFinite()判断传递的参数是否为有限数字。
Number.isInteger()判断传递的参数是否为整数。
Number.isNaN()判断传递的参数是否为 isNaN()。
Number.isSafeInteger()判断传递的参数是否为安全整数。

数字类型原型上的一些方法

方法描述
toExponential()返回一个数字的指数形式的字符串,如:1.23e+2
toFixed()返回指定小数位数的表示形式。var a=123; b=a.toFixed(2); // b="123.00"
toPrecision()返回一个指定精度的数字。如下例子中,a=123 中,3会由于精度限制消失:var a=123; b=a.toPrecision(2); // b="1.2e+2"

String

长度

length来计算字符串的长度:

var txt="Hello World!";
document.write(txt.length);

var txt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
document.write(txt.length);

查找字符串

indexOf() 来定位字符串中某一个指定的字符首次出现的位置:

var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");

lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。

内容匹配

**match()**函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。

var str="Hello world!";
document.write(str.match("world") + "<br>");
document.write(str.match("World") + "<br>");
document.write(str.match("world!"));

替换内容

replace() 方法在字符串中用某些字符替换另一些字符。

str="Please visit Microsoft!"
var n=str.replace("Microsoft","Runoob");

字符串大小写转换

toUpperCase() / toLowerCase():

var txt="Hello World!";    // String
var txt1=txt.toUpperCase();  // txt1 文本会转换为大写
var txt2=txt.toLowerCase();  // txt2 文本会转换为小写

字符串转为数组

字符串使用**split()**函数转为数组:

txt="a,b,c,d,e"  // String
txt.split(",");  // 使用逗号分隔
txt.split(" ");  // 使用空格分隔
txt.split("|");  // 使用竖线分隔 

特殊字符

代码输出
单引号
"双引号
\斜杆
\n换行
\r回车
\ttab
\b空格
\f换页

字符串属性和方法

属性:

  • length
  • prototype
  • constructor

方法:

  • charAt()
  • charCodeAt()
  • concat()
  • fromCharCode()
  • indexOf()
  • lastIndexOf()
  • match()
  • replace()
  • search()
  • slice()
  • split()
  • substr()
  • substring()
  • toLowerCase()
  • toUpperCase()
  • valueOf()

Date

日期格式化为指定格式

Date.prototype.format = function (fmt) {
  var o = {
    "M+": this.getMonth() + 1,                   //月份
    "d+": this.getDate(),                        //日
    "h+": this.getHours(),                       //小时
    "m+": this.getMinutes(),                     //分
    "s+": this.getSeconds(),                     //秒
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    "S": this.getMilliseconds()                  //毫秒
  };

  //  获取年份 
  // ①
  if (/(y+)/i.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  }

  for (var k in o) {
    // ②
    if (new RegExp("(" + k + ")", "i").test(fmt)) {
      fmt = fmt.replace(
        RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    }
  }
  return fmt;
}

var now = new Date();
var nowStr = now.format("YYYY-MM-DD"); // 2021-01-11

Array

  • 合并 -concat()
  • 用数组的元素组成字符串 - join()
  • 删除数组的最后一个元素 - pop()
  • 数组的末尾添加新的元素 - push()
  • 将一个数组中的元素的顺序反转排序 - reverse()
  • 删除数组的第一个元素 - shift()
  • 从一个数组中选择元素 -slice()
  • 数组排序(按字母顺序升序)- sort()
  • 在数组的第2位置添加一个元素 - splice()
  • 转换数组到字符串 -toString()
  • 在数组的开头添加新元素 - unshift()

Math

  • random() 返回 0 到 1 之间的随机数
  • max() 来返回两个给定的数中的较大的数
  • min() 来返回两个给定的数中的较小的数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值