JavaScript下申明对象的几种方法小结


Posted in Javascript onOctober 02, 2008

1.var myObject = {} ;
2.function myObject()
{
....
}
3.var myObject = function(){} ;
对于后两种方法,我们还可以增加参数,这样就类似于一个带参数的构造器了.
例如:
function myObject(msg)
{
alert(msg) ;
}
var newObject = new myObject('Hello,World!') ;

var myObject = function(msg)
{
alert(msg + 'again') ;
}
var newTwoObject = new myObject('Hello,World!) ;

甚至我们可以使用字符串来声明函数,这使得我们的程序更加灵活
例如:
var myObject = new Function("msg","alert(msg)") ;
// Function可以有多个入口参数,最后一个参数作为方法体。
var newObject = new myObject('Hell,World!) ;

JavaScript中成员的声明
在JavaScript中,要声明一个对象的成员也非常简单,但是跟其它的高级程序仍然略有不同
例如:
var myObject = {
"FirstName" : "thtwin",
"LastName" : "thtwinj2ee",
"Age" : 22,
"showFullName" : function()
{
alert(this.FirstName + ' ' + this.LastName) ;
}

} ;
myObject.showFullName() ;

在JavaScript中另一个面向对象的特点是我们可以像高级编程语言一样使用.和[]引用成员.
例如:
var dateTime = {
now : new Date(),
show : function(){
alert(new Date()) ;
}
} ;
alert(dateTime.now) ;
等价于:
alert(dateTime.now) ;

dataTime.show() ;
等价于:
dateTime["show()"] ;

对于方法调用来说,在JavaScript中,所有的对象的基类是Object,基类通过prototype定义了很多的成员
和方法,例如:toString,toLocaleString等.
例如:
var obj = {"toString" : function(){return "This is an test!" ; }} ;
alert(obj) ;

运行时,当alert的时候toString()方法被调用了,事实上,当JavaScript需要将一个对象转换成字符
时就隐式调用了这个对象的toString()方法.
例如:
Date.prototype.toString = function(){alert('this is a test!') ;} ;
var da = new Date(new Date()) ;

Date.prototype.toString = function(){alert('this is a test!') ;} ;
var dt = new Date() + 1 ;

JavaScript中call方法的使用:
关于call的解释:
call 方法可以用来代替另一个对象调用一个方法。
call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

例如:
function abc()
{
alert(this.member1);
}
var obj = { member1:"Hello world!", show:abc};
var obj2 = { member1:"Hello world again!", show:abc};

obj.show();
//也可以使用
abc.call(obj);
abc.call(obj2);

修改后的另一个版本:
member1 = 'test';
function abc()
{
alert(this.member1);
}
var obj = { member1:"Hello world", show:abc};
var obj2 = { member1:"Hello world again", show:abc};

obj.show();
//也可以使用
abc.call(obj);
abc.call(obj2);

abc(); // 此时abc中的this指向了当前上下文
每个函数都有call方法,上面的过程中我们看到用另一个对象代替调用显示方法,
并注意到this在对象上下文中的改变。

Javascript 相关文章推荐
鼠标事件延时切换插件
Mar 12 Javascript
Bootstrap每天必学之按钮(一)
Nov 24 Javascript
常见JS验证脚本汇总
Dec 01 Javascript
jQuery实现扑克正反面翻牌效果
Mar 10 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 Javascript
小程序实现留言板
Nov 02 Javascript
js打开word文档预览操作示例【不是下载】
May 23 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
Sep 12 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
Sep 25 Javascript
15 分钟掌握vue-next响应式原理
Oct 13 Javascript
在vue中使用vant TreeSelect分类选择组件操作
Nov 02 Javascript
用JS实现飞机大战小游戏
Jun 09 Javascript
初学JavaScript第二章
Sep 30 #Javascript
select组合框option的捕捉实例代码
Sep 30 #Javascript
javascript优先加载笔记代码
Sep 30 #Javascript
javascript显示隐藏层比较不错的方法分析
Sep 30 #Javascript
javascript不同页面传值的改进版
Sep 30 #Javascript
简明json介绍
Sep 28 #Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 #Javascript
You might like
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
Python数据集切分实例
2018/12/08 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
python next()和iter()函数原理解析
2020/02/07 Python
Python类中self参数用法详解
2020/02/13 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2020/11/17 Python
南威尔士家居商店:Leekes
2016/10/25 全球购物
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
类如何去实现接口
2013/12/19 面试题
优秀毕业大学生推荐信
2013/11/13 职场文书
家电业务员岗位职责
2014/03/10 职场文书
博士生专家推荐信
2014/09/26 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书