作家
登录

Javascript 面向对象 对象(Object)

作者: 来源:www.28hudong.com 2013-03-30 01:36:03 阅读 我要评论

javascript中的对象创建声明: var obj = {}; 或者 var obj = new Object();  为对象加入属性,方法: //=====第一种写法==================================== obj.name = '小明'; //为对象加属性 obj.updateName = function(name){//为对象定义updateName方法 this.name = name; } alert(obj.name); obj.updateName("小强"); //调用updateName修改obj对象的name属性值 alert(obj['name']); 第一次显示结果为:小明 第二次显示结果为:小强 //=====第二种写法==================================== obj['name'] = '张三'; //为对象加属性 obj['updateName'] = function(name){//为对象定义updateName方法 obj['name'] =name; };  alert(obj.name); obj.updateName('李四'); //调用updateName修改obj对象的name属性值 alert(obj['name']); 第一次显示结果为:张三 第二次显示结果为:李四 复制代码 代码如下: //=====第三种写法==================================== var obj = { name: '王五', //为对象加属性 updateName: function(name){//为对象定义updateName方法 this.name = name;    } }; alert(obj .name); obj.updateName("赵六"); //调用updateName修改obj对象的name属性值 alert(obj .name); 第一次显示结果为:王五 第二次显示结果为:赵六 //=====分析===================================== 第一种写法是最普通的对象写法,因为javascript是动态语言,与Java和.Net不同, 在程序运行并创建对象后,还可以对该对象的内部结构进行修改, 比如添加属性和方法(java和.net中的反射机制做不到这点)。 (a): var obj = {} || new Object(); (b):obj.name = "张三"; (c):obj.updateName = function(name){ this.name = name}; 当程序执行(a) 后,便创建了一个空对象(不包含任何方法和属性)obj, 当程序执行(b) 后,改变了obj的内部结构,加了一个属性name, 当程序执行(c) 后,改变了obj的内部结构,加了一个方法updateName , 而这都是在运行的时候完成的动作 第二种写法像数组,但绝不是数组,区分是不是数组可以如此判断: 复制代码 代码如下: if(typeof(obj.length) == "undefined") { alert("obj不是数组,数组都有length属性!"); }else{ alert("obj是数组!"); } 第二种写法更像一种数据结构:map ,如:obj[key] = value; key是字符串,value可以是任何类型,变量,对象,函数等。 可以通过这种方式遍历对象内部结构: 复制代码 代码如下: for(var key in obj) { alert(key); var value = obj[key]; alert(value); } 通过alert可以显示出你所定义的内容。 第三种写法一看就是map的内部结构了,一个对象,内部完全用key : value键值对方式表示 JSON对象也是这种结构,只要对map或者JSON对象有所熟悉的就很容易理解了。

  推荐阅读

  js 小数取整的函数

1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4,向下取整 js: Math.floor(7/2)>>>详细阅读


本文标题:Javascript 面向对象 对象(Object)

地址:http://www.17bianji.com/kaifa2/JS/26420.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)