- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码如下:
/*?数组和对象 【JavaScript 权威指南 第五版】?*/?/*?对象: 是一个无序属性集合, 每个属性都有自己的名字和值 */?/* 创建对象简单方法, 对象直接量 */?var obj = {};?var obj = {name: maxthon};?var obj = {name: {}, text: []};?/* 可使用 new 操作符 */?var a = new Array();?var d = new Date();?var r = new RegExp(javascript, i);?var o = new Object(); // var o = {};?/* 注: new 操作符后跟构造函数, 所以?typeof Array; // function?typeof Object; // function?Object 是 Function 的实例.?Function 是特殊的对象, 也是 Object 的实例.?*/?/* 对象属性 */?// 使用 . 符合来存取属性的值.?// 注:同时可使用 [], 里面使用属性名(可使用变量, 这点特别有用).?var t = {};?t.text = hello;?t.o = {};?t.o.name = rd;?t.n = [];?var t = {?text: hello?};?console.log(t.text); // hello;?// 补充: 通常使用关键字 var 来声明变量, 但是声明对象属性时, 不能使用 var 声明?/* 对象枚举 */?var F = function () {};?F.prototype.name = RD;?var obj = new F;?for (var key in obj) {?console.log(key); // name;?}?// 仅枚举对象自身, 不沿原型链向上查?for (var key in obj) {?if (obj.hasOwnProperty(key)) {?console.log(key); //?}?}?/* 注: for in 不能枚举出预定义属性; toString. */?/* 检查属性存在性 */?window.a = rd;?console.log(a in window); // true;?var F = function () {};?F.prototype.name = RD;?var obj = new F;?console.log(name in obj); // true;?var toString = Object.prototype.toString;?// 如果对象 obj, 含有方法 getName, 则执行它;?if (obj.getName toString.call(obj.getName) === [object Function]) ) {?obj.getName();?}?// 补充:?console.log(null == undefined); // true;?console.log(null !== undefined); // true;?/* 删除属性 */?delete obj.name;?// 补充: 使用 delete 操作符, 不能删除使用 var 声明的变量;?/* 作为关联数组的对象 */?// 取对象属性:?obj.name;?obj[name]; // 这里 name 为字符串.?// 使用 [] 表示时, 属性名是用字符串来表示的. 那么可?// 在运行过程中进行添加等操作?// 注:当此属性是做为变量传递时, 特别有用.?// 又称 关联数组?/* 映射: JavaScript 对象把字符串(属性名) 映射成值. */?for (var key in obj) {?console.log(key); // key 属性名, 此处 做为值存在.?}?/*?通用的 Object 属性和方法?JavaScript 中所有对象都继承自 Object 类;?1, constructor 属性.?指向其构造函数.?*/?var F = function () {};?var f = new F;?console.log(f.constructor == F); // true?// 构造函数的原型存在属性 constructor 指向自己;?F.prototype.
原创力文档


文档评论(0)