javascript 学习笔记(八)javascript对象


Posted in Javascript onApril 12, 2011

1、javascript中的内置对象
javascript中除了本身的内置对象,如以下我们所熟悉的对象:
•Array
•Date
•Math
•String
•RegExp
•……
各个对象都有自己的属性及方法,比如我们经常使用属性及方法
属性:stringObject.length; arrayObject.length;……
方法:stringObject.indexOf(); stringObject.splite(); stringObject.substr(); arrayObject.concat(); arrayObject.push(); arrayObject.join();……
2、如何自定义对象,及添加属性和方法
a. 通过关键字new创建

var newObject = new Object(); //创建一个新类 
newObject.name = "new object"; //添加一个name的属性 
newObject.say = function() { //添加say()方法 
alert(this.name); //output new object 
}

对于以上的创建方法,我们可以利用JSON(JavaScript Object Notation)的方法简写为如下代码:
var newObject = { 
name: "new object"; 
say: function () { 
alert(this.name); 
} 
};

我们利用JSON的数据格式创建一个更为复杂的对象
var company = { 
name: "tuanzz", 
product: "groupon", 
address: {province: "Hubei", city: "wuhan"}, 
person:[ 
{name: "zhangchen",age: "23"}, 
{name: "luomi", age: "23"}, 
], 
readme: function() { 
alert("My name is "+this.person[0].name+" and "+this.person[0].age+" years old"); 
} 
}; 
company.readme(); //output My name is zhangchen and 23 years old;

我们可以看到,用JSON的数据格式创建的对象,代码不仅看起来十分优雅。
JSON的形式就是用大括“{}”号包括起来的项目列表,每一个项目间并用逗号“,”分隔,而项目就是用冒号“:”分隔的属性名和属性值。这是典型的字典表示形式,也再次表明了 JavaScript里的对象就是字典结构。不管多么复杂的对象,都可以被一句JSON代码来创建并赋值。
b、通过构造函数来创建对象
function objectFun(name) { 
this.name = name; 
this.say = function() { 
alert(this.name); 
} 
} 
var newObject = new objectFun("zhangchen"); 
newObject.say(); //output zhangchen

首先新建一个objectFun()函数,其中定义了属性和方法,这里我们可以把objectFun看作一个类(在javascript中函数就是对象),然后通过new实例化出一个对象,newObject对象中同样也有了父类中属性和方法。
我们可以用以下代码来检测函数确实是对象:
//普通函数 
function say(s) { 
alert(s); 
} 
say("hi"); 
//给函数对象赋属性,函数就是对象 
say.test = "it can work?"; 
alert(say.test); //output it can work?

如何理解以上创建对象的方法?我们看下面的代码:
function objectFun(name) { 
this.name = name; 
this.say = function() { 
alert(this.name); 
} 
} 
var newObject = new Object(); //创建一个空对象 
objectFun.call(newObject, "zhangchen"); //将newObject作为this参数调用objectFun函数 
newObject.say("zhangchen");//output zhangchen

首先创建一个newObject对象,newObject作为this参数调用objectFun函数。讲了这么多,我们完全可以把objectFun作为构造函数来使用。
-------------------------------------------------------------------------------------------------------------------------------------------------
余下内容大家可参考李战写的悟透JavaScript
Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - Documentation 文档
Sep 29 Javascript
jQuery EasyUI API 中文文档 - Panel面板
Sep 30 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
May 14 Javascript
浅谈JS原型对象和原型链
Mar 02 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
Jun 17 Javascript
AngularJS  $on、$emit和$broadcast的使用
Sep 05 Javascript
Vue 滚动行为的具体使用方法
Sep 13 Javascript
JavaScript中如何判断一个值的类型
Sep 15 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
Sep 17 Javascript
在layui中select更改后生效的方法
Sep 05 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
Mar 09 Javascript
JavaScript内置对象之Array的使用小结
May 12 Javascript
jQuery的初始化与对象构建之浅析
Apr 12 #Javascript
避免回车键导致的页面无意义刷新的解决方法
Apr 12 #Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
Apr 12 #Javascript
javascript实现上传图片并预览的效果实现代码
Apr 11 #Javascript
window.dialogArguments 使用说明
Apr 11 #Javascript
30个最佳jQuery Lightbox效果插件分享
Apr 11 #Javascript
基于jquery的仿百度搜索框效果代码
Apr 11 #Javascript
You might like
PHP 第二节 数据类型之数值型
2012/04/28 PHP
php获取淘宝分类id示例
2014/01/16 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
php图像处理类实例
2015/07/28 PHP
javascript object array方法使用详解
2012/12/03 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
Python编码时应该注意的几个情况
2013/03/04 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
ET Mall东森购物网:东森严选
2017/03/06 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
初中女生自我鉴定
2013/12/19 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
2015年采购员工作总结
2015/04/27 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
礼貌问候语大全
2015/11/10 职场文书
python基础之while循环语句的使用
2021/04/20 Python
Nginx进程管理和重载原理详解
2021/04/22 Servers