对象定义
JavaScript的对象是一组由 属性-值 组成的无序集合,属性和值以冒号(:)间隔。
JavaScript对象有以下几大类:(可以参考 JavaScript 基本语法 -- 数据类型 & 变量)
- 自定义对象
- String字符串对象
- Array数组对象
- Date日期对象
- Math对象
- RegExp正则表达式对象
对象的属性特征:
- 使用 for...in 可以循环遍历对象属性
- 通过对象属性,可以访问到具体的值并且修改它
- 可以增加和删除对象属性
访问对象属性有两种方法:
.(点号) [] (方括号)
对象.属性名
对象[属性名]
创建对象
下面创建一个自定义对象(普通对象)
var student = { name: 'Michael', age: 20, sex: 'man' }; student.name; // 'Michael' delete student.age; // 删除age属性,返回true student.birth = '1997-10-10'; // 添加属性birth,并且赋值 'name' in student; // true,检查属性 'toString' in student; // true,检查继承属性 student.hasOwnProperty('name'); // true,标准的检查自定义属性
另外,也可以通过构造函数和new关键字来创建对象,e.g.
var obj = new Object(); // 创建一个空对象,等价于 var obj = {}; var arr = new Array(); // 创建一个空数组,等价于 var arr = [];
PS:Object(), Array() 这一类函数称作 构造函数(constructor)
字符串对象
var str = 'This_is_string'; // 等价于 var str = new String('This_is_string'); str.length; // 14,返回 字符串长度 str.toUpperCase(); // "THIS_IS_STRING",不改变原字符串 str.toLowerCase(); // "this_is_string",不改变原字符串 str.replace('string', 'Number'); // "This_is_Number",不改变原字符串 str.split('_'); // ["This", "is", "string"],以_分割成数组 str.concat(str1,str2,str3,...); // 将字符串连接起来 str.indexOf('is'); // 2,从前往后匹配第一个字符串所在的位置 str.lastIndexOf('is'); // 5,从后往前匹配第一个字符串位置 str.substring(2,7); //"is_is", 剪切字符串[2,7),包头不包尾 str.substr(0,4) //"This",从第一个位置开始,取4个长度 str.trim(); // 去掉首尾空格 str[0] // "T",访问第一个字符 str[str.length-1] // "g",访问最后一个字符
对象原型
JavaScript里面每一个对象(null除外)都和另一个对象相关联。
这里的“另一个”对象就是我们熟知的原型,每一个对象都从原型继承属性。
自定义对象的原型都指向同一个对象 Object,如何获得这个原型对象的引用呢?
Object.prototype
http://blog.csdn.net/u012468376/article/details/53121081