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 相关文章推荐
JavaScript Undefined,Null类型和NaN值区别
Oct 22 Javascript
jquery checkbox实现单选小例
Nov 27 Javascript
javascript生成随机大小写字母的方法
Feb 20 Javascript
浅析JavaScript Array和string的转换(推荐)
May 20 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
Aug 15 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
Jul 10 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
深入了解javascript 数组的sort方法
Jun 01 Javascript
react 父子组件之间通讯props
Sep 08 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
Jun 18 jQuery
2020淘宝618理想生活列车自动领喵币js脚本的代码
Jun 02 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
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
javascript来定义类的规范小结
2010/11/19 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
vue中当图片地址无效的时候,显示默认图片的方法
2018/09/18 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
python连接mysql并提交mysql事务示例
2014/03/05 Python
详解Python中列表和元祖的使用方法
2015/04/25 Python
Python实现简单的四则运算计算器
2016/11/02 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
英国团购网站:Groupon英国
2017/11/28 全球购物
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
大学生就业推荐信范文
2013/11/29 职场文书
护士长竞聘书
2014/03/31 职场文书
船舶工程技术专业求职信
2014/08/07 职场文书
励志演讲稿大全
2014/08/21 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
go 实现简易端口扫描的示例
2021/05/22 Golang
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL