JavaScript常用对象

目录

1、数组对象

1.1、概述

1.2、创建数组

1.2.1、使用对象创建

 1.2.2、使用字面量创建

1.3、遍历数组

1.4、数组属性

1.5、数组方法

1.5.1、push()

1.5.2、pop()

1.5.3、unshift()

1.5.4、shift()

1.5.5、forEach()

1.5.6、slice()

1.5.7、splice()

1.5.8、concat()

1.5.9、join()

1.5.10、reverse()

1.5.11、sort()

2、函数对象

2.1、call()和apply()

2.2、this指向

2.3、arguments参数

3、Date对象

3.1、Date 对象属性

3.2、Date 对象方法

3.3、案例演示:

4、Math对象

4.1、Math 对象属性

4.2、Math 对象方法

4.3、案例演示:

5、String对象

5.1、概述

5.2、String 对象属性

5.3、字符串方法

5.3.1、charAt()

5.3.2、charCodeAt()

5.3.3、concat()

5.3.4、indexof()

5.3.5、lastIndexOf()

5.3.6、slice()

5.3.7、substring()

5.3.8、substr()

5.3.9、split()

5.3.10、toUpperCase()

5.3.11、toLowerCase()

6、RegExp对象

6.1、概述

6.2、创建正则对象

6.2.1、使用对象创建

6.2.2、使用字面量创建

6.3、正则进阶(方括号) 

6.4、正则方法

6.4.1、split()

6.4.2、search()

6.4.3、match()

6.4.4、replace()

6.5、正则量词

6.6、正则高阶(元字符)

6.7、正则案例

6.7.1、检查手机号

6.7.2、检查邮箱号


JavaScript 对象参考手册

1、数组对象

1.1、概述

        数组也是对象的一种,数组是一种用于表达有顺序关系的值的集合的语言结构,也就是同类数据元素的有序集合。

        数组的存储性能比普通对象要好,在开发中我们经常使用数组来存储一些数据。但是在JavaScript中是支持数组可以是不同的元素,这跟JavaScript的弱类型有关,此处不用纠结,我们大多数时候都是相同类型元素的集合。数组内的各个值被称作元素,每一个元素都可以通过索引(下标)来快速读取,索引是从零开始的整数。

        使用typeof检查一个数组对象时,会返回object。

1.2、创建数组

1.2.1、使用对象创建

  • 同类型有序数组创建:
var arr = new Array();
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
arr[5] = 6;
arr[6] = 7;
arr[7] = 8;
arr[8] = 9;

 1.2.2、使用字面量创建

  • 同类型有序数组创建:

    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    
  • 不同类型有序数组创建:

    var arr = [1, "2", 3, "4", 5, "6", 7, "8", 9];
    

1.3、遍历数组

for (var i = 0; i < arr.length; i++) {
    console.log(arr[i]);
}

1.4、数组属性

属性描述
constructor返回创建数组对象的原型函数。
length设置或返回数组元素的个数。
prototype允许你向数组对象添加属性或方法。

1.5、数组方法

方法描述
concat()连接两个或更多的数组,并返回结果。
copyWithin()从数组的指定位置拷贝元素到数组的另一个指定位置中。
entries()返回数组的可迭代对象。
every()检测数值元素的每个元素是否都符合条件。
fill()使用一个固定值来填充数组。
filter()检测数值元素,并返回符合条件所有元素的数组。
find()返回符合传入测试(函数)条件的数组元素。
findIndex()返回符合传入测试(函数)条件的数组元素索引。
forEach()数组每个元素都执行一次回调函数。
from()通过给定的对象中创建一个数组。
includes()判断一个数组是否包含一个指定的值。
indexOf()搜索数组中的元素,并返回它所在的位置。
isArray()判断对象是否为数组。
join()把数组的所有元素放入一个字符串。
keys()返回数组的可迭代对象,包含原始数组的键(key)。
lastIndexOf()搜索数组中的元素,并返回它最后出现的位置。
map()通过指定函数处理数组的每个元素,并返回处理后的数组。
pop()删除数组的最后一个元素并返回删除的元素。
push()向数组的末尾添加一个或更多元素,并返回新的长度。
reduce()将数组元素计算为一个值(从左到右)。
reduceRight()将数组元素计算为一个值(从右到左)。
reverse()反转数组的元素顺序。
shift()删除并返回数组的第一个元素。
slice()选取数组的一部分,并返回一个新数组。
some()检测数组元素中是否有元素符合指定条件。
sort()对数组的元素进行排序。
splice()从数组中添加或删除元素。
toString()把数组转换为字符串,并返回结果。
unshift()向数组的开头添加一个或更多元素,并返回新的长度。
valueOf()返回数组对象的原始值。

更多有关 JavaScript Array 内容请参考 JavaScript Array 对象手册

1.5.1、push()

该方法可以向数组的末尾添加一个或多个元素,并返回数组的新的长度

var arr = ["孙悟空", "猪八戒", "沙和尚"];
var result = arr.push("唐僧", "蜘蛛精", "白骨精", "玉兔精");
console.log(arr);
console.log(result);

image-20201017215218010

1.5.2、pop()

该方法可以删除数组的最后一个元素,并将被删除的元素作为返回值返回

var arr = ["孙悟空", "猪八戒", "沙和尚"];
var result = arr.pop();
console.log(arr);
console.log(result);

image-20201017215359638

1.5.3、unshift()

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

var arr = ["孙悟空", "猪八戒", "沙和尚"];
var result = arr.unshift("牛魔王", "二郎神");
console.log(arr);
console.log(result);

image-20201017215527496

1.5.4、shift()

该方法可以删除数组的第一个元素,并将被删除的元素作为返回值返回

var arr = ["孙悟空", "猪八戒", "沙和尚"];
var result = arr.shift();
console.log(arr);
console.log(result);

image-20201017215800977

1.5.5、forEach()

该方法可以用来遍历数组

forEach()方法需要一个函数作为参数,像这种函数,由我们创建但是不由我们调用的,我们称为回调函数。数组中有几个元素函数就会执行几次,每次执行时,浏览器会将遍历到的元素,以实参的形式传递进来,我们可以来定义形参,来读取这些内容,浏览器会在回调函数中传递三个参数:

  • 第一个参数:就是当前正在遍历的元素
  • 第二个参数:就是当前正在遍历的元素的索引
  • 第三个参数:就是正在遍历的数组

注意:这个方法只支持IE8以上的浏览器,IE8及以下的浏览器均不支持该方法,所以如果需要兼容IE8,则不要使用forEach(),还是使用for循环来遍历数组。

var arr = ["孙悟空", "猪八戒", "沙和尚"];
arr.forEach(function (value, index, obj) {
    console.log(value + " #### " + index + " #### " + obj);
});

image-20201017220618530

1.5.6、slice()

该方法可以用来从数组提取指定元素,该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回

参数:(左闭右开)

  • 第一个参数:截取开始的位置的索引,包含开始索引
  • 第二个参数:截取结束的位置的索引,不包含结束索引,第二个参数可以省略不写,此时会截取从开始索引往后的所有元素

注意:索引可以传递一个负值,如果传递一个负值,则从后往前计算,-1代表倒数第一个,-2代表倒数第二个。

var arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "白骨精"];
var result = arr.slice(1, 4);
console.log(result);
result = arr.slice(3);
console.log(result);
result = arr.slice(1, -2);
console.log(result);

image-20201018090855439

1.5.7、splice()

该方法可以用于删除数组中的指定元素,该方法会影响到原数组,会将指定元素从原数组中删除,并将被删除的元素作为返回值返回

参数:

  • 第一个参数:表示开始位置的索引
  • 第二个参数:表示要删除的元素数量
  • 第三个参数及以后参数:可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边
var arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "白骨精"];
var result = arr.splice(3, 2);
console.log(arr);
console.log(result);
result = arr.splice(1, 0, "牛魔王", "铁扇公主", "红孩儿");
console.log(arr);
console.log(result);

image-20201018091447071

1.5.8、concat()

该方法可以连接两个或多个数组,并将新的数组返回,该方法不会对原数组产生影响

var arr = ["孙悟空", "猪八戒", "沙和尚"];
var arr2 = ["白骨精", "玉兔精", "蜘蛛精"];
var arr3 = ["二郎神", "太上老君", "玉皇大帝"];
var result = arr.concat(arr2, arr3, "牛魔王", "铁扇公主");
console.log(result);

image-20201018122134527

1.5.9、join()

该方法可以将数组转换为一个字符串,该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回,在join()中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符,如果不指定连接符,则默认使用,作为连接

var arr = ["孙悟空", "猪八戒", "沙和尚"];
var result = arr.join("@-@");
console.log(result);

image-20201018122403396

1.5.10、reverse()

该方法用来反转数组(前边的去后边,后边的去前边),该方法会直接修改原数组

var arr = ["孙悟空", "猪八戒", "沙和尚"];
arr.reverse();
console.log(arr);

image-20201018122520134

1.5.11、sort()

该方法可以用来对数组中的元素进行排序,也会影响原数组,默认会按照Unicode编码进行排序

var arr = ["b", "c", "a"];
arr.sort();
console.log(arr);

image-20201018123042465

注意:即使对于纯数字的数组,使用sort()排序时,也会按照Unicode编码来排序,所以对数字进排序时,可能会得到错误的结果。

var arr = [1, 3, 2, 11, 5, 6];
arr.sort();
console.log(arr);

image-20201018123124230

我们可以自己来指定排序的规则,我们可以在sort()添加一个回调函数,来指定排序规则,回调函数中需要定义两个形参,浏览器将会分别使用数组中的元素作为实参去调用回调函数,使用哪个元素调用不确定,但是肯定的是在数组中a一定在b前边,浏览器会根据回调函数的返回值来决定元素的顺序,如下:

  • 如果返回一个大于0的值,则元素会交换位置
  • 如果返回一个小于0的值,则元素位置不变
  • 如果返回一个等于0的值,则认为两个元素相等,也不交换位置

经过上边的规则,我们可以总结下:

  • 如果需要升序排列,则返回 a-b
  • 如果需要降序排列,则返回 b-a
var arr = [1, 3, 2, 11, 5, 6];
arr.sort(function (a, b) {
    return a - b;
});
console.log(arr);

image-20201018123008856

2、函数对象

  1. call()和apply()
  2. this指向
  3. arguments参数

2.1、call()和apply()

call()和apply()这两个方法都是函数对象的方法,需要通过函数对象来调用,当对函数调用call()和apply()都会调用函数执行,在调用call()和apply()可以将一个对象指定为第一个参数,此时这个对象将会成为函数执行时的this,call()方法可以将实参在对象之后依次传递,apply()方法需要将实参封装到一个数组中统一传递,如下演示:

call()方法演示:

function fun(a, b) {
    console.log("a = " + a);
    console.log("b = " + b);
    console.log("fun = " + this);
}

var obj = {
    name: "obj",
    sayName: function () {
        console.log(this.name);
    }
};

fun(2, 3);
console.log("===============");
fun.call(obj, 2, 3);

image-20201018124051021

注意:默认fun()函数调用,this指向的是window对象,你可以使用call()调用函数,在调用的时候传入一个对象,这个对象就是this所指向的对象,也就是说,可以自己指定this的指向,然后从第二个参数开始,实参将会依次传递

apply()方法演示:

function fun(a, b) {
    console.log("a = " + a);
    console.log("b = " + b);
    console.log("fun = " + this);
}

var obj = {
    name: "obj",
    sayName: function () {
        console.log(this.name);
    }
};

fun(2, 3);
console.log("===============");
fun.apply(obj, [2, 3]);

image-20201018123915931

注意:默认fun()函数调用,this指向的是window对象,你可以使用apply()调用函数,在调用的时候传入一个对象,这个对象就是this所指向的对象,也就是说,可以自己指定this的指向,然后从第二个参数开始,需要制定一个实参数组进行参数传递

2.2、this指向

  • 以函数形式调用时,this永远都是window
  • 以方法的形式调用时,this是调用方法的对象
  • 以构造函数的形式调用时,this是新创建的那个对象
  • 使用call和apply调用时,this是传入的那个指定对象

2.3、arguments参数

在调用函数时,浏览器每次都会传递进两个隐含的参数:

  1. 函数的上下文对象: this
  2. 封装实参的对象: arguments

this对象我们已经学习过了,那arguments对象是什么呢?

arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度,在调用函数时,我们所传递的实参都会在arguments中保存,比如:arguments.length 可以用来获取实参的长度,我们即使不定义形参,也可以通过arguments来使用实参,只不过比较麻烦,例如:

  • arguments[0]:表示第一个实参
  • arguments[1]:表示第二个实参

它里边有一个属性叫做callee,这个属性对应一个函数对象,就是当前正在指向的函数的对象。

arguments对象演示:

function fun(a, b) {
    // 通过下标获取第一个参数
    console.log(arguments[0]);
    // 通过下标获取第二个参数
    console.log(arguments[1]);
    // 获取实参的个数
    console.log(arguments.length);
    // 看看它的函数对象
    console.log(arguments.callee);
    console.log(arguments.callee == fun);
}

fun("Hello", "World");

image-20201018125309350

3、Date对象

在JavaScript中使用Date对象来表示一个时间,如果直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间。

3.1、Date 对象属性

属性描述
constructor返回对创建此对象的 Date 函数的引用。
prototype使您有能力向对象添加属性和方法。

3.2、Date 对象方法

方法描述
getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。
getFullYear()从 Date 对象以四位数字返回年份。
getHours()返回 Date 对象的小时 (0 ~ 23)。
getMilliseconds()返回 Date 对象的毫秒(0 ~ 999)。
getMinutes()返回 Date 对象的分钟 (0 ~ 59)。
getMonth()从 Date 对象返回月份 (0 ~ 11)。
getSeconds()返回 Date 对象的秒数 (0 ~ 59)。
getTime()返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset()返回本地时间与格林威治标准时间 (GMT) 的分钟差。
getUTCDate()根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay()根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCFullYear()根据世界时从 Date 对象返回四位数的年份。
getUTCHours()根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMilliseconds()根据世界时返回 Date 对象的毫秒(0 ~ 999)。
getUTCMinutes()根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCMonth()根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCSeconds()根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
getYear()已废弃。 请使用 getFullYear() 方法代替。
parse()返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate()设置 Date 对象中月的某一天 (1 ~ 31)。
setFullYear()设置 Date 对象中的年份(四位数字)。
setHours()设置 Date 对象中的小时 (0 ~ 23)。
setMilliseconds()设置 Date 对象中的毫秒 (0 ~ 999)。
setMinutes()设置 Date 对象中的分钟 (0 ~ 59)。
setMonth()设置 Date 对象中月份 (0 ~ 11)。
setSeconds()设置 Date 对象中的秒钟 (0 ~ 59)。
setTime()setTime() 方法以毫秒设置 Date 对象。
setUTCDate()根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCFullYear()根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours()根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMilliseconds()根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
setUTCMinutes()根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCMonth()根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCSeconds()setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。
setYear()已废弃。请使用 setFullYear() 方法代替。
toDateString()把 Date 对象的日期部分转换为字符串。
toGMTString()已废弃。请使用 toUTCString() 方法代替。
toISOString()使用 ISO 标准返回字符串的日期格式。
toJSON()以 JSON 数据格式返回日期字符串。
toLocaleDateString()根据本地时间格式,把 Date 对象的日期部分转换为字符串。
toLocaleTimeString()根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleString()根据本地时间格式,把 Date 对象转换为字符串。
toString()把 Date 对象转换为字符串。
toTimeString()把 Date 对象的时间部分转换为字符串。
toUTCString()

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

实例:

var today = new Date();
var UTCstring = today.toUTCString();
UTC()根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
valueOf()返回 Date 对象的原始值。

3.3、案例演示:

var date = new Date();
console.log(date);

console.log(date.getFullYear());//获取当前日期对象的年份(四位数字年份)
console.log(date.getMonth());//获取当前日期对象的月份(0 ~ 11)
console.log(date.getDate());//获取当前日期对象的日数(1 ~ 31)
console.log(date.getHours());//获取当前日期对象的小时(0 ~ 23)
console.log(date.getMinutes());//获取当前日期对象的分钟(0 ~ 59)
console.log(date.getSeconds());//获取当前日期对象的秒钟(0 ~ 59)
console.log(date.getMilliseconds());//获取当前日期对象的毫秒(0 ~ 999)

image-20201018130252223

4、Math对象

Math和其它的对象不同,它不是一个构造函数,它属于一个工具类不用创建对象,它里边封装了数学运算相关的属性和方法。

4.1、Math 对象属性

属性描述
E返回算术常量 e,即自然对数的底数(约等于2.718)。
LN2返回 2 的自然对数(约等于0.693)。
LN10返回 10 的自然对数(约等于2.302)。
LOG2E返回以 2 为底的 e 的对数(约等于 1.4426950408889634)。
LOG10E返回以 10 为底的 e 的对数(约等于0.434)。
PI返回圆周率(约等于3.14159)。
SQRT1_2返回 2 的平方根的倒数(约等于 0.707)。
SQRT2返回 2 的平方根(约等于 1.414)。

4.2、Math 对象方法

方法描述
abs(x)返回 x 的绝对值。
acos(x)返回 x 的反余弦值。
asin(x)返回 x 的反正弦值。
atan(x)以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x)返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x)对数进行上舍入。
cos(x)返回数的余弦。
exp(x)返回 Ex 的指数。
floor(x)对 x 进行下舍入。
log(x)返回数的自然对数(底为e)。
max(x,y,z,...,n)返回 x,y,z,...,n 中的最高值。
min(x,y,z,...,n)返回 x,y,z,...,n中的最低值。
pow(x,y)返回 x 的 y 次幂。
random()返回 0 ~ 1 之间的随机数。
round(x)四舍五入。
sin(x)返回数的正弦。
sqrt(x)返回数的平方根。
tan(x)返回角的正切。

4.3、案例演示:

/*固定值*/
console.log("PI = " + Math.PI);
console.log("E  = " + Math.E);
console.log("===============");
/*正数*/
console.log(Math.abs(1));        //可以用来计算一个数的绝对值
console.log(Math.ceil(1.1));     //可以对一个数进行向上取整,小数位只有有值就自动进1
console.log(Math.floor(1.99));   //可以对一个数进行向下取整,小数部分会被舍掉
console.log(Math.round(1.4));    //可以对一个数进行四舍五入取整
console.log("===============");
/*负数*/
console.log(Math.abs(-1));       //可以用来计算一个数的绝对值
console.log(Math.ceil(-1.1));    //可以对一个数进行向上取整,小数部分会被舍掉
console.log(Math.floor(-1.99));  //可以对一个数进行向下取整,小数位只有有值就自动进1
console.log(Math.round(-1.4));   //可以对一个数进行四舍五入取整
console.log("===============");
/*随机数*/
//Math.random():可以用来生成一个0-1之间的随机数
//生成一个0-x之间的随机数:Math.round(Math.random()*x)
//生成一个x-y之间的随机数:Math.round(Math.random()*(y-x)+x)
console.log(Math.round(Math.random() * 10));            //生成一个0-10之间的随机数
console.log(Math.round(Math.random() * (10 - 1) + 1));  //生成一个1-10之间的随机数
console.log("===============");
/*数学运算*/
console.log(Math.pow(12, 3));   //Math.pow(x,y):返回x的y次幂
console.log(Math.sqrt(4));      //Math.sqrt(x) :返回x的平方根

image-20201018132005284

5、String对象

5.1、概述

在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象

  • String():可以将基本数据类型字符串转换为String对象
  • Number():可以将基本数据类型的数字转换为Number对象
  • Boolean():可以将基本数据类型的布尔值转换为Boolean对象

但是注意:我们在实际应用中不会使用基本数据类型的对象,如果使用基本数据类型的对象,在做一些比较时可能会带来一些不可预期的结果,在这一章节中,我们重点介绍String()对象的属性和方法。

5.2、String 对象属性

属性描述
constructor对创建该对象的函数的引用
length字符串的长度
prototype允许您向对象添加属性和方法

5.3、字符串方法

方法描述
charAt()返回在指定位置的字符。
charCodeAt()返回在指定的位置的字符的 Unicode 编码。
concat()连接两个或更多字符串,并返回新的字符串。
endsWith()判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。
fromCharCode()将 Unicode 编码转为字符。
indexOf()返回某个指定的字符串值在字符串中首次出现的位置。
includes()查找字符串中是否包含指定的子字符串。
lastIndexOf()从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
match()查找找到一个或多个正则表达式的匹配。
repeat()复制字符串指定次数,并将它们连接在一起返回。
replace()在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。
replaceAll()在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。
search()查找与正则表达式相匹配的值。
slice()提取字符串的片断,并在新的字符串中返回被提取的部分。
split()把字符串分割为字符串数组。
startsWith()查看字符串是否以指定的子字符串开头。
substr()从起始索引号提取字符串中指定数目的字符。
substring()提取字符串中两个指定的索引号之间的字符。
toLowerCase()把字符串转换为小写。
toUpperCase()把字符串转换为大写。
trim()去除字符串两边的空白。
toLocaleLowerCase()根据本地主机的语言环境把字符串转换为小写。
toLocaleUpperCase()根据本地主机的语言环境把字符串转换为大写。
valueOf()返回某个字符串对象的原始值。
toString()返回一个字符串。

5.3.1、charAt()

该方法可以根据索引获取指定位置的字符

var str = "Hello,World!";
console.log(str.charAt(1));

image-20201018153002150

5.3.2、charCodeAt()

该方法获取指定位置字符的字符编码(Unicode编码)

var str = "Hello,World!";
console.log(str.charCodeAt(1));

image-20201018153218872

5.3.3、concat()

该方法可以用来连接两个或多个字符串

var str = "Hello,World!";
console.log(str.concat("你好,", "世界!"));

image-20201018153504935

5.3.4、indexof()

该方法可以检索一个字符串中是否含有指定内容,如果字符串中含有该内容,则会返回其第一次出现的索引,如果没有找到指定的内容,则返回-1,可以指定一个第二个参数,指定开始查找的位置

var str = "Hello,World!";
console.log(str.indexOf("o"));
console.log(str.indexOf("o", 5));

image-20201018160212146

5.3.5、lastIndexOf()

该方法的用法和indexOf()一样,不同的是indexOf是从前往后找,而lastIndexOf是从后往前找,也可以指定开始查找的位置

var str = "Hello,World!";
console.log(str.lastIndexOf("o"));
console.log(str.lastIndexOf("o", 5));

5.3.6、slice()

可以从字符串中截取指定的内容,不会影响原字符串,而是将截取到内容返回

参数:

  • 第一个参数:开始位置的索引(包括开始位置)
  • 第二个参数:结束位置的索引(不包括结束位置),如果省略第二个参数,则会截取到后边所有的

注意:也可以传递一个负数作为参数,负数的话将会从后边计算

var str = "Hello,World!";
var result = str.slice(1, 4);
console.log(result);
result = str.slice(1);
console.log(result);
result = str.slice(1, -1);
console.log(result);

image-20201018160909634

5.3.7、substring()

可以用来截取一个字符串,它和slice()类似

参数:

  • 第一个参数:开始截取位置的索引(包括开始位置)
  • 第二个参数:结束位置的索引(不包括结束位置),如果省略第二个参数,则会截取到后边所有的

注意:不同的是这个方法不能接受负值作为参数,如果传递了一个负值,则默认使用0,而且它还自动调整参数的位置,如果第二个参数小于第一个,则自动交换

var str = "Hello,World!";
var result = str.substring(1, 4);
console.log(result);
result = str.substring(1);
console.log(result);
result = str.substring(1, -1);
console.log(result);

image-20201018160942481

5.3.8、substr()

该方法用来截取字符串

参数:

  • 第一个参数:截取开始位置的索引
  • 第二个参数:截取的长度
var str = "Hello,World!";
var result = str.substr(6, 6);
console.log(result);

image-20201018161859192

5.3.9、split()

该方法可以将一个字符串拆分为一个数组,需要一个字符串作为参数,将会根据该字符串去拆分数组

var str = "Hello,World!";
var result = str.split(",");
console.log(result);

image-20201018162029011

5.3.10、toUpperCase()

将一个字符串转换为大写并返回

var str = "Hello,World!";
var result = str.toUpperCase();
console.log(result);

image-20201018162118218

5.3.11、toLowerCase()

将一个字符串转换为小写并返回

var str = "Hello,World!";
var result = str.toLowerCase();
console.log(result);

image-20201018162241087

6、RegExp对象

6.1、概述

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,获取将字符串中符合规则的内容提取出来。

使用typeof检查正则对象,会返回object。

6.2、创建正则对象

6.2.1、使用对象创建

语法格式:

var 变量名 = new RegExp("正则表达式","匹配模式");

匹配模式:

修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。

案例演示:

// 这个正则表达式可以来检查一个字符串中是否含有a
var reg = new RegExp("ab", "i");
var str = "Abc";
var result = reg.test(str);
console.log(result);

image-20201018163156692

6.2.2、使用字面量创建

语法格式:

var 变量名 = /正则表达式/匹配模式;

匹配模式:

修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。

注意:可以为一个正则表达式设置多个匹配模式,且顺序无所谓

案例演示:

// 这个正则表达式可以来检查一个字符串中是否含有a
var reg = /a/i;
var str = "Abc";
var result = reg.test(str);
console.log(result);

image-20201018163156692

6.3、正则进阶(方括号) 

需求信息:创建一个正则表达式,检查一个字符串中是否有a或b

语法格式:使用 | 表示或者的意思

// 这个正则表达式可以来检查一个字符串中是否含有a
var reg = /a|b|c/;
var str = "Abc";
var result = reg.test(str);
console.log(result);

image-20201018164941099

试想一下,如果我们现在要是想要检查一个字符串是否含有小写字母,那我们是不是可以reg = /a|b|c|d|e|f|g ... /;这么写,但是你会发现,好啰嗦啊,怎么这么麻烦呢,有没有一种更简单的方式,答案是肯定的。

需求信息:创建一个正则表达式,检查一个字符串中是否有字母

语法格式:[ ] 里的内容也是或的关系

// 这个正则表达式可以来检查一个字符串中是否含有字母
var reg = /[A-z]/;
var str = "Abc";
var result = reg.test(str);
console.log(result);

image-20201018171936882

常见组合:

表达式描述
[abc]查找方括号之间的任何字符。
[^abc]查找任何不在方括号之间的字符。
[0-9]查找任何从 0 至 9 的数字。
[a-z]查找任何从小写 a 到小写 z 的字符。
[A-Z]查找任何从大写 A 到大写 Z 的字符。
[A-z]查找任何从大写 A 到小写 z 的字符。
[adgk]查找给定集合内的任何字符。
[^adgk]查找给定集合外的任何字符。
(red|blue|green)查找任何指定的选项。

需求信息:创建一个正则表达式,检查一个字符串中是否含有 abc 或 adc 或 aec

// 这个正则表达式可以来检查一个字符串中是否含有abc或adc或aec
var reg = /a[bde]c/;
var str = "abc123";
var result = reg.test(str);
console.log(result);

那现在我们已经学会了判断是否包含,那要是判断除了某些字符序列该咋整,只需要这么写[^字符序列]

常见组合:

  • [^a-z]:除了任意小写字母
  • [^A-Z]:除了任意大写字母
  • [^A-z]:除了任意字母
  • [^0-9]:除了任意数字

需求信息:创建一个正则表达式,检查一个字符串中是否除了数字还有其它字母

// 这个正则表达式可以来检查一个字符串中是否除了数字还有其它字母
var reg = /[^0-9]/;
var str = "0123456789";
var result = reg.test(str);
console.log(result);

6.4、正则方法

RegExp 对象方法

方法描述
compile在 1.5 版本中已废弃。 编译正则表达式。
exec检索字符串中指定的值。返回找到的值,并确定其位置。
test检索字符串中指定的值。返回 true 或 false。
toString返回正则表达式的字符串。

 支持正则表达式的 String 对象的方法

方法描述FFIE
search检索与正则表达式相匹配的值。14
match找到一个或多个正则表达式的匹配。14
replace替换与正则表达式匹配的子串。14
split把字符串分割为字符串数组。14

6.4.1、split()

该方法可以将一个字符串拆分为一个数组,方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串,这个方法即使不指定全局匹配,也会全都插分

var str = "1a2b3c4d5e6f7";
var result = str.split(/[A-z]/);
console.log(result);

image-20201018212920528

6.4.2、search()

该方法可以搜索字符串中是否含有指定内容,如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回-1,它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串,serach()只会查找第一个,即使设置全局匹配也没用

var str = "hello abc hello aec afc";
var result = str.search(/a[bef]c/);
console.log(result);

image-20201018213217017

6.4.3、match()

该方法可以根据正则表达式,从一个字符串中将符合条件的内容提取出来,默认情况下我们的match()只会找到第一个符合要求的内容,找到以后就停止检索,我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容,可以为一个正则表达式设置多个匹配模式,且顺序无所谓,match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果

var str = "1a2a3a4a5e6f7A8B9C";
var result = str.match(/[a-z]/ig);
console.log(result);

image-20201018213447809

6.4.4、replace()

该方法可以将字符串中指定内容替换为新的内容,默认只会替换第一个,但是可以设置全局匹配替换全部

参数:

  • 第一个参数:被替换的内容,可以接受一个正则表达式作为参数
  • 第二个参数:新的内容
var str = "1a2a3a4a5e6f7A8B9C";
var result = str.replace(/[a-z]/gi, "@_@");
console.log(result);

image-20201018213653322

6.5、正则量词

通过量词可以设置一个内容出现的次数,量词只对它前边的一个内容起作用,如果有多个内容可以使用 () 括起来,常见量词如下:

量词描述
n+

匹配任何包含至少一个 n 的字符串。

例如,/a+/ 匹配 "candy" 中的 "a","caaaaaaandy" 中所有的 "a"。

n*

匹配任何包含零个或多个 n 的字符串。

例如,/bo*/ 匹配 "A ghost booooed" 中的 "boooo","A bird warbled" 中的 "b",但是不匹配 "A goat grunted"。

n?

匹配任何包含零个或一个 n 的字符串。

例如,/e?le?/ 匹配 "angel" 中的 "el","angle" 中的 "le"。

n{X}

匹配包含 X 个 n 的序列的字符串。

例如,/a{2}/ 不匹配 "candy," 中的 "a",但是匹配 "caandy," 中的两个 "a",且匹配 "caaandy." 中的前两个 "a"。

n{X,}

X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。

例如,/a{2,}/ 不匹配 "candy" 中的 "a",但是匹配 "caandy" 和 "caaaaaaandy." 中所有的 "a"。

n{X,Y}

X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配。

例如,/a{1,3}/ 不匹配 "cndy",匹配 "candy," 中的 "a","caandy," 中的两个 "a",匹配 "caaaaaaandy" 中的前面三个 "a"。注意,当匹配 "caaaaaaandy" 时,即使原始字符串拥有更多的 "a",匹配项也是 "aaa"。

n$匹配任何结尾为 n 的字符串。
^n匹配任何开头为 n 的字符串。
?=n匹配任何其后紧接指定字符串 n 的字符串。
?!n匹配任何其后没有紧接指定字符串 n 的字符串。
var str = "abbc";

reg = /(ab){3}/;
console.log(reg.test(str));
console.log("===============");
reg = /b{3}/;
console.log(reg.test(str));
console.log("===============");
reg = /ab{1,3}c/;
console.log(reg.test(str));
console.log("===============");
reg = /ab{3,}c/;
console.log(reg.test(str));
console.log("===============");
reg = /ab+c/;
console.log(reg.test(str));
console.log("===============");
reg = /ab*c/;
console.log(reg.test(str));
console.log("===============");
reg = /ab?c/;
console.log(reg.test(str));
console.log("===============");

image-20201018214346309

6.6、正则高阶(元字符)

如果我们要检查或者说判断是否以某个字符或者字符序列开头或者结尾就会使用^$

  • ^ :表示开头,注意它在[^字符序列]表达的意思不一样
  • $ :表示结尾

需求描述:检查一个字符串中是否以a开头

var str = "abcabca";
var reg = /^a/;
console.log(reg.test(str));

image-20201018214857304

需求描述:检查一个字符串中是否以a结尾

var str = "abcabca";
var reg = /a$/;
console.log(reg.test(str));

image-20201018214953184

那如果我们想要检查一个字符串中是否含有.\就会使用转义字符

  • \. :表示.
  • \\ :表示\

注意:使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,如果要使用\则需要使用\\来代替

var reg1 = /\./;
var reg2 = /\\/;
var reg3 = new RegExp("\\.");
var reg4 = new RegExp("\\\\");

除了以上两种特殊的字符,其实还有很多如下所示:

元字符描述
.查找单个字符,除了换行和行结束符。
\w查找数字、字母及下划线。
\W查找非单词字符。
\d查找数字。
\D查找非数字字符。
\s查找空白字符。
\S查找非空白字符。
\b匹配单词边界。
\B匹配非单词边界。
\0查找 NULL 字符。
\n查找换行符。
\f查找换页符。
\r查找回车符。
\t查找制表符。
\v查找垂直制表符。
\xxx查找以八进制数 xxx 规定的字符。
\xdd查找以十六进制数 dd 规定的字符。
\uxxxx查找以十六进制数 xxxx 规定的 Unicode 字符。

这里边我们就演示最后四个,其它的都比较简单,后边的案例也会涉及,这里就不演示了

需求描述:创建一个正则表达式,去除掉字符串中的前后的空格

var str = "  hello child  "
var reg = /^\s*|\s*$/g;
console.log(str);
str = str.replace(reg, "");
console.log(str);

image-20201018220522294

需求描述:创建一个正则表达式,检查一个字符串中是否含有单词child

var str = "hello child"
var reg = /\bchild\b/;
console.log(reg.test(str));

image-20201018220305875

6.7、正则案例

6.7.1、检查手机号

var phoneStr = "15131494600";
var phoneReg = /^1[3-9][0-9]{9}$/;
console.log(phoneReg.test(phoneStr));

image-20201018220305875

6.7.2、检查邮箱号

var emailStr = "abc.def@163.com";
var emailReg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
console.log(emailReg.test(emailStr));

image-20201018220717578

JS中的常用对象[转载]web 技术 2010-06-05 15:00:30 阅读3 评论0 字号:大中小 订阅 [removed] Window For JavaScript 熟练window对象的open、close、alert、confirm、prompt、setTimeout、clearTimeout、setInterval、clearInterval、moveBy、resizeBy、scrollBy方法的使用 掌握window对象的moveTo、resizeTo、scrollTo、print方法的使用 熟练掌握window对象的status、location、name、self、opener属性的使用  Window对象是客户端javascript最高层对象之一,只要打开浏览器窗口,不管该窗口中是否有打开的网页,当遇到BODY、FRAMESET或FRAME元素时,都会自动建立window对象的实例。另外,该对象的实例也可由window.open()方法创建。由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.[removed]()可以简写成: [removed]()。  在窗口中觖发本窗口对象的任何方法和属性时可以省去窗口的实例名称。例如给当前的myWin窗口设置status属性时,可以只用status而不用myWin.status。但是,在事件处理中调用location属性、close()方法或open()方法时必须使用实例名称。 6-2-1 window对象的方法 window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval moveBy moveTo resizeBy resizeTo scrollBy scrollTo find back forward home stop print blur focus captureEvent enableExternalCapture disableExternalCapture handleEvent releaseEvent routeEvent scroll   1. open方法   语法格式: window.open(URL,窗口名称,窗口风格)   功能:打开一个新的窗口,并在窗口中装载指定URL地址的网页。   说明: open方法用于打开一个新的浏览器窗口,并在新窗口中装入一个指定的URL地址 ; open方法在打开一个新的浏览器窗口时,还可以指定窗口的名称(第二个参数); open方法在打开一个新的浏览器窗口时,还可以指定窗口的风格(第三个参数), 窗口风格有以下选项,这些选项可以多选,如果多选,各选项之间用逗号分隔: toolbar:指定窗口是否有标准工具栏。当该选项的值为1或yes时,表示有标准 工具栏,当该选项的值为0或no时,表示没有标准工具栏; location:指定窗口是否有地址工具栏,选项的值及含义与toolbar相同; directories:指定窗口是否有链接工具栏,选项的值及含义与toolbar相同; status:指定窗口是否有状态栏,选项的值及含义与toolbar相同; menubar:指定窗口是否有菜单,选项的值及含义与toolbar相同; scrollbar:指定当前窗口文档大于窗口时是否有滚动条,选项的值及含义与 toolbar相同; resizable:指定窗口是否可改变大小,选项的值及含义与toolbar相同; width:以像素为单位指定窗口的宽度,已被innerWidth取代; height:以像素为单位指定窗口的高度,已被innerHeight取代; outerWidth:以像素为单位指定窗口的外部宽度; outerHeight:以像素为单位指定窗口的外部高度; left:以像素为单位指定窗口距屏幕左边的位置; top:以像素为单位指定窗口距屏幕顶端的位置; alwaysLowered:指定窗口隐藏在所有窗口之后,选项的值及含义与toolbar相同 ; alwaysRaised:指定窗口浮在所有窗口之上,选项的值及含义与toolbar相同; dependent:指定打开的窗口为当前窗口的一个子窗口,并随着父窗口的关闭而 关闭,选项的值及含义与toolbar相同; hotkeys:在没有菜单栏的新窗口中设置安全退出的热键,选项的值及含义与 toolbar相同; innerHeight:设定窗口中文档的像素高度; innerWidth:设定窗口中文档的像素宽度; screenX:设定窗口距离屏幕左边界的像素长度; screenY:设定窗口距离屏幕上边界的像素长度; titleBar:指明标题栏是否在新窗口中可见,选项的值及含义与toolbar相同; z-look:指明当窗口被激活时,不能浮在其它窗口之上,选项的值及含义与 toolbar相同。 open方法返回的是该窗口的引用。 小技巧:该方法经常用于在打开一个网页时自动打开另一个窗口。 例6-2-1:编制一个小程序,它用于在打开当前窗口时自动打开另一个窗口,要 求该窗没有标准工具栏、地址栏、链接工具栏、菜单栏,但有状态栏,窗口中打 开的网页地址为: http://www.dlrtvu.edu.cn 。 2. close方法 语法格式: window.close() 功能:close方法用于自动关闭浏览器窗口。 3. alert方法 语法格式: window.alert(提示字符串) 功能:弹出一个警告框,在警告框内显示提示字符串文本。 4. confirm方法 语法格式: window.confirm(提示字符串) 功能:显示一个确认框,在确认框内显示提示字符串,当用户单击“确定”按钮 时该方法返回true,单击“取消”时返回false。 5. prompt方法 语法格式: window.prompt(提示字符串,缺省文本) 功能:显示一个输入框,在输入框内显示提示字符串,在输入文本框显示缺省文 本,并等待用户输入,当用户单击“确定”按钮时,返回用户输入的字符串,当 单击“取消”按钮时,返回null值。 6. setTimeout方法 语法格式: window.setTimeout(代码字符表达式,毫秒数) 功能:定时设置,当到了指定的毫秒数后,自动执行代码字符表达式。 7. clearTimeout方法 语法格式: window.clearTimeout(定时器) 功能:取消以前的定时设置,其中的参数是用setTimeout设置时的返回值。 8. setInterval方法 语法格式: window.setInterval(代码字符表达式,毫秒数) 功能:设定一个时间间隔后(第二个参数),反复执行“代码字符表达式”的内容 9. clearInterval方法 语法格式: window.clearInterval(时间间隔器) 功能:取消setInterval设置的定时。其中的参数是setInterval方法的返回值。 10. moveBy方法 语法格式: window.moveBy(水平位移量,垂直位移量) 功能:按照给定像素参数移动指定窗口。第一个参数是窗口水平移动的像素,第 二个参数是窗口垂直移动的像素。 11.moveTo方法 语法格式: window.moveTo(x,y) 功能:将窗口移动到指定的指定坐标(x,y)处。 12. resizeBy方法 语法格式: window.resizeBy(水平,垂直) 功能:将当前窗口改变指定的大小(x,y),当x、y的值大于0时为扩大,小于0时 为缩小。 13. resizeTo方法 语法格式: window.resizeTo(水平宽度,垂直宽度) 功能:将当前窗口改变成(x,y)大小,x、y分别为宽度和高度。 14. scrollBy方法 语法格式: window.scrollBy(水平位移量,垂直位移量) 功能:将窗口中的内容按给定的位移量滚动。参数为正数时,正向滚动,否则反 向滚动。 15. scrollTo方法 语法格式: window.scrollTo(x,y) 功能:将窗口中的内容滚动到指定位置。 16.find方法 语法格式: window.find() 功能:当触发该方法时,将弹出一个“find”(查找)对话窗口,并允许用户在触 发find方法的页面中查找一个字符串。 注:该属性在IE5.5及Netscape6.0中都不支持。 17. back方法 语法格式: window.back() 功能:模拟用户点击浏览器上的“后退”按钮,将页面转到浏览器的上一页。 说明:仅当当前页面存在上一页时才能进行该操作。 注:IE5.5不支持该方法,Netscape6.0支持。 18. forward方法 语法格式: window.forward() 功能:模拟用户点击浏览器上的“前进”按钮,将页面转到浏览器的下一页。 说明:仅当当前页面存在下一页时才能进行该操作。 注:IE5.5不支持该方法,Netscape6.0支持。 19. home方法 语法格式: window.home() 功能:模拟用户点击浏览器上的“主页”按钮,将页面转到指定的页面上。 注:IE5.5不支持该方法,Netscape6.0支持。 20. stop方法 语法格式: window.stop() 功能:模拟用户点击浏览器上的“停止”按钮,终止浏览器的下载操作。 注:IE5.5不支持该方法,Netscape6.0支持。 21. print方法 语法格式: window.print() 功能:模拟用户点击浏览器上的“打印”按钮,通知浏览器打开打印对话框打印 当前页。 22. blur方法 语法格式: window.blur() 功能:从窗口中移出焦点。当与focus方法合用时必须小心,因为可能导致焦点 不断移进移出。 23. focus方法 语法格式: window.focus() 功能:使窗口中得到焦点。当与blur方法合用时必须小心,因为可能导致焦点不 断移进移出。 24. captureEvent方法 语法格式: window.captureEvent(Event) window.captureEvent(事件1|事件2|...|事件n) 功能:捕捉指定参数的所有事件。由于能够捕获哪些由本地程序自己处理的事件 ,所以程序员可以随意定义函数来处理事件。如果有多个事件需要捕捉,各事件 之间用管道符“|”隔开。可捕捉的事件类型如下: Event.ABORT Event.BLUR Event.CHANGE Event.CLICK Event.DBLCLICK Event.DRAGDROP Event.ERROR Event.FOCUS Event.KEYDOWN Event.KEYPRESS Event.KEYUP Event.LOAD Event.MOUSEDOWN Event.MOUSUEMOVE Event.MOUSEOUT Event.MOUSEOVER Event.MOUSEUP Event.MOVE Event.RESET Event.RESIZE Event.SELECT Event.SUBMIT Event.UNLOAD 25. enableExternalCapture事件 语法格式: window.enableExternalCapture(event) 功能:enableExternalCapture方法用于捕捉通过参数传入的外部事件。 26. disableExternalCapture事件 语法格式: window.disableExternalCapture() 功能:取消enableExternalCapture方法的设置,终止对外部事件的捕捉。 27. handleEvent事件 语法格式: window.handleEvent(event) 功能:触发指定事件的事件处理器。 28. releaseEvent事件 语法格式: window.releaseEvent(event) window.releaseEvent(事件1|事件2|...|事件n) 功能:释放通过参数传入的已被捕捉的事件,这些事件是由 window.captureEvent方法设置的,可释放的事件与captureEvent相同。 29. routeEvent事件 语法格式: window.releaseEvent(event) 功能:把被捕捉类型的所有事件转交给标准事件处理方法进行处理,可转交的事 件与captureEvent相同。 30 scroll事件 语法格式: window.scroll(X坐标,Y坐标) 功能:将窗口移动到指定的坐标位置。 6-2-2 window对象的属性 window对象具有如下属性: status statusbar statusbar.visible defaultstatus location locationbar locationbar.visible self name closed frames frames.length length document history innerHeight innerWidth menubar menubar.visible opener outerHeight outerWidth pageXOffset pageYOffset parent personalbar personalbar.visible scrollbar scrollbar.visible toolbar toolbar.visible top 1. status属性 语法格式: window.status=字符串 功能:设置或给出浏览器窗口中状态栏的当前显示信息。 小技巧:可以使用该属性设置浏览器窗口状态栏信息。 2. statusbar属性 语法格式: window.statusbar.属性 功能:statusbar属性本身也是一个对象,用于访问它自已的visible属性从而确 定状态栏是否可见。 注:IE5.5浏览器不支持该属性。 3. statusbar.visible属性 语法格式: window.statusbar.visible 功能:检查状态栏是否可见,如果可见则返回true,反之返回false。 注:IE5.5浏览器不支持该属性。 4. defaultstatus属性 语法格式: window.defaultstatus[=字符串] 功能:defaultstatus属性值是浏览器窗中状态栏的默认显示信息。 5.location属性 语法格式: [removed]=URL 功能:给出当前窗口的URL信息或指定打开窗口的URL。 6. locationbar属性 语法格式: [removed]bar.属性 功能:locationbar属性也可以看成是一个子对象,这个属性用来获取它自已的 visible属性来确定位置栏是否可见。 到目前为止,该属性只有一个子属性:visible。 注:IE5.5不支持该属性。 7. locationbar.visible属性 语法格式: [removed]bar.visible 功能:返回位置栏是否可见,如果可见返回true,反之返回false。 注:IE5.5不支持该属性。 8. self属性 语法格式: window.self.方法 window.self.属性 功能:该属性包含当前窗口的标志,利用这个属性,可以保证在多个窗口被打开 的情况下,正确调用当前窗口内的函数或属性而不会发生混乱。 9. name属性 语法格式: window.name=名称 功能:返回窗口名称,这个名称是由window.open()方法创建新窗口时给定的。 在javascript1.0版本中,这个属性只能用于读取窗口名称,而到了 javascript1.1版本时,可以用这个属性给一个不是用window.open()方法创建的 窗口指定一个名称。 10. closed属性 语法格式: window.closed 功能:closed属性用于返回指定窗口的实例是否已经关闭,如果关闭,返回true ,反之返回flase。 11. frames属性 语法格式: window.frames["框架名称"] window.frames[数值] 功能:frames属性是一个数组,用来存储文档中每一个由元素创建的子窗口(框 架)实例,其中的下标即可以是次序号也可以是用FRAME元素的NAME属性指定的名 称来得到并使用。 12. frames.length属性 语法格式: window.frames.length 功能:frames.length属性用于给出文档中子窗口(框架)实例的个数。 13. length属性 语法格式: window.length 功能:length属性返回一个窗口内的子窗口数目,该属性与 window.frame.length属性的值相同。 14. document属性 语法格式: window.document.事件 window.document.方法 window.document.属性 功能:window对象的子对象document是javascript的核心对象,在脚本中遇到 BODY元素时创建一个实例。 15. history属性 语法格式: window.history[数值] window.history.方法() window.history.属性 window对象的子对象history是javascript的核心对象之一,该属性包含了一个 已访问过页面的名称和URL的数组。 16. innerHeight属性 语法格式: window.innerHeight=数值 功能:返回或指定浏览器窗口中文档的像素高度,这个高度不包括任何工具栏和 组成窗口的页面修饰高度。 注:IE5.5不支持该属性。 17. innerWidth属性 语法格式: window.innerHeight=数值 功能:返回或指定浏览器窗口中文档的像素宽度,这个宽度不包括任何工具栏和 组成窗口的页面修饰宽度。 注:IE5.5不支持该属性。 18. menubar属性 语法格式: window.menubar.属性 功能:menubar属性也可以看成是一个子对象,这个属性用来获取它自已的 visible属性来确定菜单栏是否可见。 到目前为止,该属性只有一个子属性:visible。 注:IE5.5不支持该属性。 19. menubar.visible属性 语法格式: window.menubar.visible 功能:menubar.visible属性用于返回菜单栏是否可见,如果可见返回true,反 之返回false。 注:IE5.5不支持该属性。 20. opener属性 语法格式: window.opener window.opener.方法 window.opener.属性 功能:opener属性与打开该窗口的父窗口相联系,当访问子窗口中operer属性时 ,返回的是父窗口。通过该属性,可以使用父窗口对象中的方法和属性。 21. outerHeight属性 语法格式: window.outerHeight 功能:outerHeight属性用于访问浏览器窗口的像素高度,该高度包括工具栏和 装饰边的高度。 注:IE5.5不支持该属性。 22. outerWidth属性 语法格式: window.outerWidth 功能:outerWidth属性用于访问浏览器窗口的像素宽度,该宽度包括工具栏和装 饰边的宽度。 注:IE5.5不支持该属性。 23. pageXOffset属性 语法格式: window.pageXOffset=数值 功能:指定浏览器窗口中文档左上角在窗口中的当前水平像素位置。在利用 moveTo移动之前,可以通过该属性来决定是否需要移动窗口。因为该属性返回了 可见文档相对整个页面的当前位置。 注:IE5.5不支持该属性。 24. pageYOffset属性 语法格式: window.pageYOffset=数值 功能:指定浏览器窗口中文档左上角在窗口中的当前垂直像素位置。在利用 moveTo移动之前,可以通过该属性来决定是否需要移动窗口。因为该属性返回了 可见文档相对整个页面的当前位置。 注:IE5.5不支持该属性。 25. parent属性 语法格式: window.parent.frames[数值] window.parent.framesName 功能:访问各个子窗口(多框架)所在的父窗口。 26. personalbar属性 语法格式: window.personalbar.属性 功能:personalbar属性本身也是一个对象,用于访问其自身的visible属性来确 定个人栏是否可见。 注:IE5.5不支持该属性。 27. personalbar.visible属性 语法格式: window.personalbar.visible 功能:确定个人栏是否可见,如果可见则返回true,反之返回false。 注:IE5.5不支持该属性。 28. scrollbars属性 语法格式: window.scrollbars.属性 功能:scrollbars属性本身也是一个对象,用于访问其自身的visible属性来确 定滚动栏是否可见。 注:IE5.5不支持该属性。 29. scrollbars.visible属性 语法格式: window.scrollbars.visible 功能:scrollbars.visible用于确定滚动栏是否可见,如果可见则返回true,反 之返回false。 注:IE5.5不支持该属性。 30. toolbar属性 语法格式: window.toolbar.属性 功能:toolbar属性本身也是一个对象,用于访问它自已的visible属性从而确定 工具栏是否可见。 注:IE5.5不支持该属性。 31. toolbar.visible属性 语法格式: window.toolbar.visible 功能:toolbar.visible属性用于检查工具栏是否可见,如果可见则返回true, 反之返回false。 注:IE5.5不支持该属性。 32. top属性 语法格式: window.top.frames[数值] window.top.frameName window.top.方法() window.top.属性 功能:window对象的top属性用于包含所有装入浏览器的子窗口(多框架)的最顶 层窗口的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平平无奇的CV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值