js的内置对象

版权声明:本篇文章由IT_CREATE整理 https://blog.csdn.net/IT_CREATE/article/details/85072339

4.6 JS的内置对象

JS跟JAVA一样,也是一种面向对象的编程语言,JS将对象总共划分为以下三种类型 :JS内置对象、浏览器内置对象、自定义对象

 

JS内置对象:JS语言自己已经定义好的一些对象,比如String、Date、Array......

浏览器内置对象:JS针对浏览器当前的系统配置,以及正在装载的页面提供的一些可供使用的对象: windows、history、location......

自定义对象:用户根据自己的需求而定义的对象

 

4.6.1 字符串对象

字符串类型是JS中基本数据类型中间的一个,JS跟JAVA一样,字符串同样也是一个独立的对象

 

4.6.1.1 字符串对象的创建

1)直接声明字符串变量

var  str = "hello world";

通过直接声明:我们可以将声明后的变量看做是一个字符串对象, var这个关键字可以省略

 

2)使用new关键字创建字符串

var str = new String("hello world");

通过new关键字创建字符串对象,var关键字同样可以省略,构造器的String中的S必须大写,对象数据都存放在用户电脑内存的栈区域中。

 

4.6.1.2 字符串常见属性

属性

描述

constructor

对创建该对象的函数的引用

length

字符串的长度

prototype

允许您向对象添加属性和方法

测试字符串长度时,一个空格占一个字符位,一个汉字占一个字符位

 

4.6.1.3 字符串常见方法

方法

描述

anchor()

创建 HTML 锚。

big()

用大号字体显示字符串。

blink()

显示闪动字符串。

bold()

使用粗体显示字符串。

charAt()

返回在指定位置的字符。

charCodeAt()

返回在指定的位置的字符的 Unicode 编码。

concat()

连接字符串。

fixed()

以打字机文本显示字符串。

fontcolor()

使用指定的颜色来显示字符串。

fontsize()

使用指定的尺寸来显示字符串。

fromCharCode()

从字符编码创建一个字符串。

indexOf()

检索字符串。

italics()

使用斜体显示字符串。

lastIndexOf()

从后向前搜索字符串。

link()

将字符串显示为链接。

localeCompare()

用本地特定的顺序来比较两个字符串。

match()

找到一个或多个正则表达式的匹配。

replace()

替换与正则表达式匹配的子串。

search()

检索与正则表达式相匹配的值。

slice()

提取字符串的片断,并在新的字符串中返回被提取的部分。

small()

使用小字号来显示字符串。

split()

把字符串分割为字符串数组。

strike()

使用删除线来显示字符串。

sub()

把字符串显示为下标。

substr()

从起始索引号提取字符串中指定数目的字符。

substring()

提取字符串中两个指定的索引号之间的字符。

sup()

把字符串显示为上标。

toLocaleLowerCase()

把字符串转换为小写。

toLocaleUpperCase()

把字符串转换为大写。

toLowerCase()

把字符串转换为小写。

toUpperCase()

把字符串转换为大写。

toSource()

代表对象的源代码。

toString()

返回字符串。

valueOf()

返回某个字符串对象的原始值。

 

 

4.6.2 数学对象Math

无论是JAVA还是JS ,数值计算这种场景一定是非常多的,为了方便计算,所以JS中,也提供了Math计算对象,相当于java的工具类,直接使用无需创建。

4.6.2.1 数学常量

Math计算对象,同样不需要大家去创建,直接使用就可以了。数学中有很多的常量,比如:PI.、E......

属性

描述

E

返回算术常量 e,即自然对数的底数(约等于2.718)。

LN2

返回 2 的自然对数(约等于0.693)。

LN10

返回 10 的自然对数(约等于2.302)。

LOG2E

返回以 2 为底的 e 的对数(约等于 1.414)。

LOG10E

返回以 10 为底的 e 的对数(约等于0.434)。

PI

返回圆周率(约等于3.14159)。

SQRT1_2

返回返回 2 的平方根的倒数(约等于 0.707)。

SQRT2

返回 2 的平方根(约等于 1.414)。

 

4.6.2.2 数学方法

方法

描述

abs(x)

返回数的绝对值。

acos(x)

返回数的反余弦值。

asin(x)

返回数的反正弦值。

atan(x)

以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。

atan2(y,x)

返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。

ceil(x)

对数进行上舍入。

cos(x)

返回数的余弦。

exp(x)

返回 e 的指数。

floor(x)

对数进行下舍入。

log(x)

返回数的自然对数(底为e)。

max(x,y)

返回 x 和 y 中的最高值。

min(x,y)

返回 x 和 y 中的最低值。

pow(x,y)

返回 x 的 y 次幂。

random()

返回 0 ~ 1 之间的随机数。

round(x)

把数四舍五入为最接近的整数。

sin(x)

返回数的正弦。

sqrt(x)

返回数的平方根。

tan(x)

返回角的正切。

toSource()

返回该对象的源代码。

valueOf()

返回 Math 对象的原始值。

 

 

4.6.3 数学对象Number

Number对象为数值对象,它的创建方式也很简单

 

4.6.3.1 创建对象

(3种方式都行)

var  num = new Number(3.14);
var num = new Number("3.14");
var num = Number(3.14);

 

4.6.3.2 对象属性

属性

描述

constructor

返回对创建此对象的 Number 函数的引用。

MAX_VALUE

可表示的最大的数。

MIN_VALUE

可表示的最小的数。

NaN

非数字值。

NEGATIVE_INFINITY

负无穷大,溢出时返回该值。

POSITIVE_INFINITY

正无穷大,溢出时返回该值。

prototype

使您有能力向对象添加属性和方法

 

4.6.3.3 对象方法

方法

描述

toString

把数字转换为字符串,使用指定的基数。

toLocaleString

把数字转换为字符串,使用本地数字格式顺序。

toFixed

把数字转换为字符串,结果的小数点后有指定位数的数字。

toExponential

把对象的值转换为指数计数法。

toPrecision

把数字格式化为指定的长度。

valueOf

返回一个 Number 对象的基本数字值。

 

toFixed的例子:

var num = new Number(3.14159).toFixed(4);

得到num为3.1416,保留4位小数,多余的省略,遵循四舍五入。

 

4.6.4 Date对象

4.6.4.1 创建对象

var  date = new Date();//得到用户系统时间
var date = new Date("June 10,2016");//得到曾经某一额时间的时间对象
var date = new Date(2000000000000);//创建一个距离1970-1-1 00:00:00有2000000000000毫秒的时间对象
var date = new Date("2015/10/23");//2015-10-23
var date = new Date(2015,6,10,17,56,23);//创建一个2015年7月10日17时56分23秒的时间对象,记住月份是从0开始

 

4.6.4.2 对象属性

属性

描述

constructor

返回对创建此对象的 Date 函数的引用。

prototype

使您有能力向对象添加属性和方法。

 

4.6.4.3 对象方法

方法

描述

Date()

返回当日的日期和时间。

getDate()

从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)。

getMonth()

从 Date 对象返回月份 (0 ~ 11)。

getFullYear()

从 Date 对象以四位数字返回年份。

getYear()

请使用 getFullYear() 方法代替。

getHours()

返回 Date 对象的小时 (0 ~ 23)。

getMinutes()

返回 Date 对象的分钟 (0 ~ 59)。

getSeconds()

返回 Date 对象的秒数 (0 ~ 59)。

getMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)。

getTime()

返回 1970 年 1 月 1 日至今的毫秒数。

getTimezoneOffset()

返回本地时间与格林威治标准时间 (GMT) 的分钟差。

getUTCDate()

根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

getUTCDay()

根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。

getUTCMonth()

根据世界时从 Date 对象返回月份 (0 ~ 11)。

getUTCFullYear()

根据世界时从 Date 对象返回四位数的年份。

getUTCHours()

根据世界时返回 Date 对象的小时 (0 ~ 23)。

getUTCMinutes()

根据世界时返回 Date 对象的分钟 (0 ~ 59)。

getUTCSeconds()

根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

getUTCMilliseconds()

根据世界时返回 Date 对象的毫秒(0 ~ 999)。

parse()

返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

setDate()

设置 Date 对象中月的某一天 (1 ~ 31)。

setMonth()

设置 Date 对象中月份 (0 ~ 11)。

setFullYear()

设置 Date 对象中的年份(四位数字)。

setYear()

请使用 setFullYear() 方法代替。

setHours()

设置 Date 对象中的小时 (0 ~ 23)。

setMinutes()

设置 Date 对象中的分钟 (0 ~ 59)。

setSeconds()

设置 Date 对象中的秒钟 (0 ~ 59)。

setMilliseconds()

设置 Date 对象中的毫秒 (0 ~ 999)。

setTime()

以毫秒设置 Date 对象。

setUTCDate()

根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

setUTCMonth()

根据世界时设置 Date 对象中的月份 (0 ~ 11)。

setUTCFullYear()

根据世界时设置 Date 对象中的年份(四位数字)。

setUTCHours()

根据世界时设置 Date 对象中的小时 (0 ~ 23)。

setUTCMinutes()

根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

setUTCSeconds()

根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

setUTCMilliseconds()

根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

toSource()

返回该对象的源代码。

toString()

把 Date 对象转换为字符串。

toTimeString()

把 Date 对象的时间部分转换为字符串。

toDateString()

把 Date 对象的日期部分转换为字符串。

toGMTString()

请使用 toUTCString() 方法代替。

toUTCString()

根据世界时,把 Date 对象转换为字符串。

toLocaleString()

根据本地时间格式,把 Date 对象转换为字符串。

toLocaleTimeString()

根据本地时间格式,把 Date 对象的时间部分转换为字符串。

toLocaleDateString()

根据本地时间格式,把 Date 对象的日期部分转换为字符串。

UTC()

根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。

valueOf()

返回 Date 对象的原始值。

 

如果要做日期格式化:

//动态给Date对象添加新的方法
Date.prototype.format = function () {
    var y = this.getFullYear();
    var m = this.getMonth() + 1;
    var d = this.getDate();
    var hh = this.getHours();
    var mm = this.getMinutes();
    var ss = this.getSeconds();
    return y + "-" + formatNumber(m) + "-" + formatNumber(d) + " " + formatNumber(hh) + ":" + formatNumber(mm) + ":" + formatNumber(ss);
}

//位数不够,就使用0补位
function formatNumber(value) {
    if (value < 10) {
        value = '0' + value;
    }
    return value;
}

var date = new Date(2015, 5, 10, 17, 56, 23);

alert(date.format());

 

4.6.5数组对象Array

JS中的数组对象,根据JAVA中的Arraylist集合一样,都是一个有序数据集合。数组中允许存放不同类型的数组。然后使用数组名和下标的结合,就可以取得数组中的元素。

 

4.6.5.1 数组的创建

三种创建方式

var array = new Array();//创建一个没有指定大小的数组对象

var array = new Array(5);//创建一个有五个大小空间的数组
var array = new Array("hello","world","ni","hao");//创建一个包含这些内容的数组对象

 

4.6.5.2 数组的属性

属性

描述

constructor

返回对创建此对象的数组函数的引用。

length

设置或返回数组中元素的数目。

prototype

使您有能力向对象添加属性和方法。

在我们获取数组数据的时候,为了防止数组越界,可以先获取数组的总长度,然后再去获得这些数据。

 

4.6.5.3 数组的方法

方法

描述

concat()

连接两个或更多的数组,并返回结果。

join()

把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

pop()

删除并返回数组的最后一个元素

push()

向数组的末尾添加一个或更多元素,并返回新的长度。

reverse()

颠倒数组中元素的顺序。

shift()

删除并返回数组的第一个元素

slice()

从某个已有的数组返回选定的元素

sort()

对数组的元素进行排序

splice()

删除元素,并向数组添加新元素。

toSource()

返回该对象的源代码。

toString()

把数组转换为字符串,并返回结果。

toLocaleString()

把数组转换为本地数组,并返回结果。

unshift()

向数组的开头添加一个或更多元素,并返回新的长度。

valueOf()

返回数组对象的原始值

 

在JAVA、C#中定义的数组,长度是不可变;但是在JS中定义的数组,长度是随时可以修改的。

 

4.6.5.3.1 数组的添加

var array = new Array(1);
array[5] = "wc";
array[10] = "w3c";
array.push("banana");

添加内容可以直接对指定位置赋值,没赋值的位置为undefined,也可以用push()方法在数组末尾进行追加。

 

 

4.6.5.3.2 数组的删除

var array = new Array("hello","world","ni","hao");

delete array[2];//删除指定位置的内容

 

如果不想删除指定位置的内容,可以使用pop()删除数组最后一个元素、shift()删除数组第一个元素。

 

4.6.5.3.3 数组的合并

数组合并用到了concat()方法,它不会去改变原数组,而是合并后返回一个新的数组。

 

例如:

var array = new Array("hello","world","ni","hao",1,3,0);//创建一个包含这些内容的数组对象
var  array2  = array.concat("my",9);
alert(array2);

显示效果:hello,world,ni,hao,1,3,0,my,9

 

 

4.6.5.3.4 数组的排序

JS根JAVA都针对数组提供了排序手段,JS中的排序手段使用的是sort()函数,sort函数在排序时,将按照ASCI字符顺序进行升序排列。

 

有两种排序方式:

  1. 按照字母顺序进行排序,即按照ASCI码进行升序排列,也可以叫做自然排序

 

例如:

var array = new Array("hello","world","ni","hao",1,3,0);//创建一个包含这些内容的数组对象
alert(array.sort());

显示效果:0,1,3,hao,hello,ni,world

 

  1. 按照自己定义的方式进行排序

 

例如:

function  mysort(a,b){
    return b-a;
}
var array = new Array("hello","world","ni","hao",1,3,0);//创建一个包含这些内容的数组对象
alert(array.sort(mysort));

显示效果:3,1,0,hao,ni,world,hello

 

4.6.5.4 数组的事例

 

HTML部分:

<body>
<!--验证码,显示验证码-->
<span id="msg"></span>
<!--刷新按钮,点击按钮刷新验证码-->
<button onclick="showCode()">刷新</button><br/>
<!--显示系统时间-->
<span id="date"></span>
</body>

 

javascript部分:

/*显示验证码*/
function showCode() {
    document.getElementById("msg").innerHTML = buildCode(4);
}

/*生产一定位数的验证码*/
function buildCode(n) {

    /*验证码中可能包含的数据*/
    var s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYS0123456789";
    var ret = "";

    for (var i = 0; i < n; i++) {
        var index = Math.floor(Math.random() * 62);
        console.log(index);
        ret += s.charAt(index);
    }
    return ret;
}

//动态给Date对象添加新的方法
Date.prototype.format = function () {
    var y = this.getFullYear();
    var m = this.getMonth() + 1;
    var d = this.getDate();
    var hh = this.getHours();
    var mm = this.getMinutes();
    var ss = this.getSeconds();
    return y + "-" + formatNumber(m) + "-" + formatNumber(d) + " " + formatNumber(hh) + ":" + formatNumber(mm) + ":" + formatNumber(ss);
}

//位数不够,就使用0补位
function formatNumber(value) {
    if (value < 10) {
        value = '0' + value;
    }
    return value;
}

function showDate() {
    document.getElementById("date").innerHTML = buidDate();
}

/**
 * 创建时间
 */
function buidDate() {
    var date = new Date();
    return date.format();
}

function show() {
    showCode();
//间隔1秒钟执行showDate()方法
    setInterval("showDate()", 1000);
}

window.onload = show;

 

猜你喜欢

转载自blog.csdn.net/IT_CREATE/article/details/85072339
今日推荐