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 Tree的oncheck事件实现代码
May 28 Javascript
Jquery Ajax请求代码(2)
Jan 07 Javascript
.NET微信公众号开发之创建自定义菜单
Jul 16 Javascript
每天一篇javascript学习小结(Function对象)
Nov 16 Javascript
AngularJS入门教程之Select(选择框)详解
Jul 27 Javascript
Vue.js实现无限加载与分页功能开发
Nov 03 Javascript
angular学习之从零搭建一个angular4.0项目
Jul 10 Javascript
微信小程序开发背景图显示功能
Aug 08 Javascript
函数式编程入门实践(一)
Apr 20 Javascript
细说Vue组件的服务器端渲染的过程
May 30 Javascript
vue中提示$index is not defined错误的解决方式
Sep 02 Javascript
如何开发一个渐进式Web应用程序PWA
May 10 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删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
小程序关于请求同步的总结
2019/05/05 Javascript
vue按需加载实例详解
2019/09/06 Javascript
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
详解Python中的Cookie模块使用
2015/07/06 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
详解Python循环作用域与闭包
2019/03/21 Python
python实现证件照换底功能
2019/08/20 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
python datetime处理时间小结
2020/04/16 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
Kipling意大利官网:世界著名的时尚休闲包袋品牌
2019/06/05 全球购物
音乐专业应届生教师求职信
2013/11/04 职场文书
自主招生自荐信
2013/12/08 职场文书
团队精神演讲稿
2013/12/31 职场文书
本科生求职信
2014/06/17 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
2015年保安个人工作总结
2015/04/02 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
python 镜像环境搭建总结
2022/09/23 Python