您的位置:首页 > Web前端 > JavaScript

【JavaScript】基础知识整理(二)

2016-03-30 21:12 471 查看

JavaScript对象

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。

在 JavaScript 中,对象是拥有属性和方法的数据。

JavaScript对象的创建

有两种方法

1. 定义并创建对象的实例

2. 使用函数来定义对象,然后创建新的对象实例

创建直接的实例

// 除了花括号之外的另一种定义对象的方法
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";


替代语法:

person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};


使用对象构造器

function person(firstname,lastname,age,eyecolor){
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
// 创建新的对象实例
var myFather=new person("Bill","Gates",56,"blue");
var myMother=new person("Steve","Jobs",48,"green");


JavaScript 是面向对象的语言,但 JavaScript 不使用类。

在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。

JavaScript 基于 prototype,而不是基于类的。

属性由逗号分隔。对象可以有两种寻址方法。

var person={firstname:"Bill", lastname:"Gates", id:5566};
// 寻址方法
name=person.lastname;
name=person["lastname"];


循环遍历对象的属性

var person={fname:"Bill",lname:"Gates",age:56};

for (x in person){
txt=txt + person[x];
}


Array

用于在单个的变量中存储多个值。

创建Array对象的语法

new Array( );   // 返回的数组为空,length字段为0
new Array( size );   //返回具有制定个数,元素为undefined的数组
new Array( element0, element1, ... , elementn );


Array对象属性

constructor length prototype

constructor

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

var test=new Array();

if (test.constructor==Array){
document.write("This is an Array");
}
if (test.constructor==Boolean){
document.write("This is a Boolean");
}
if (test.constructor==Date){
document.write("This is a Date");
}
if (test.constructor==String){
document.write("This is a String");
}
// 输出 This is an Array


length

length属性可设置或返回数组中元素的数目。

设置length属性可改变数组的大小。如果设置的值比其当前值小,数组将被截断,其尾部元素将丢失。如果设置的值比它的当前值大,数组将增大,新的元素将被添加到数组的尾部,它们的值为undefined。

prototype

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

function employee(name,job,born)
{
this.name=name;
this.job=job;
this.born=born;
}

var bill=new employee("Bill Gates","Engineer",1985);

employee.prototype.salary=null;
bill.salary=20000;

document.write(bill.salary);


Array对象方法

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

var a = [1,2,3];
document.write(a.concat(4,5));


join() 把数组所有元素放入一个字符串。元素通过制定的分隔符进行分割。arrayObject.join(separator)

pop() 删除并返回数组的最后一个元素 。

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

reverse() 颠倒数组中的元素的顺序。

shift() 删除并返回数组的第一个元素。

slice( start, end ) 从某个已有的数组返回选定的元素。

sort() 用于对数组的元素进行排序。arrayObject.sort( sortby ) sortby可选,规定排序顺序,必须是函数。

// 10,5,40,25,1000,1
// sort() 之后默认输出 1,10,1000,25,40,5


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

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

若 a 等于 b,则返回 0。

若 a 大于 b,则返回一个大于 0 的值。

function sortNumber(a,b){
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))


splice() 删除元素,并向数组中添加新元素(可删除多个元素)。

toSource() 返回该对象的源代码。(只有 Gecko 核心的浏览器(比如 Firefox)支持该方法,也就是说 IE、Safari、Chrome、Opera 等浏览器均不支持该方法。)

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

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

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

valueOf() 返回数组对象的原始值。

String

属性:constructor length prototype

方法:

charAt()返回在制定位置的字符

indexOf()检索字符串

lastIndexOf()从后向前搜索字符串

match()找到一个或多个正则表达式匹配

replace
a375
()替换与正则表达式相匹配的值

search()检索与正则表达式相匹配的值

split()

RegExp 对象

正则表达式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: