JavaScript 基本语法 -- 对象

对象定义

JavaScript的对象是一组由 属性-值 组成的无序集合,属性和值以冒号(:)间隔。

JavaScript对象有以下几大类:(可以参考 JavaScript 基本语法 -- 数据类型 & 变量

  • 自定义对象
  • String字符串对象
  • Array数组对象
  • Date日期对象
  • Math对象
  • RegExp正则表达式对象

对象的属性特征:

  1. 使用 for...in 可以循环遍历对象属性
  2. 通过对象属性,可以访问到具体的值并且修改它
  3. 可以增加和删除对象属性

访问对象属性有两种方法:

.(点号) [] (方括号)

对象.属性名
对象[属性名]

创建对象

下面创建一个自定义对象(普通对象)

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

猜你喜欢

转载自www.cnblogs.com/collywobble/p/8435610.html