【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 prototypeconstructor
返回创建此对象的数组函数的引用。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 对象
正则表达式相关文章推荐
- 图说js中的this——深入理解javascript中this指针
- DOM操作,javascript动态生成表格
- js初学笔记(三)
- 【JavaScript】基础知识整理(三)
- 实用代码片段--Javascript
- js 返回前一页并刷新页面方法
- JSF学习四 标签
- javascript之原型和原型链
- 27、extjs操作用友华表Cell之合并单元格
- HTML与JSP
- 1-2-JS基础-属性操作实例
- 【JSP】简单登陆界面
- JavaScript关于对象的总结
- 解析加密后的js
- js操作svg旋转
- 学习ExtJS的MVC布局
- jsonp跨域访问问题
- Gson,Fast-Json解析 Demo
- Javascript 优化项目代码技巧之语言基础(二)
- jsp页面用el表达式获取枚举的code