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 相关文章推荐
JS文本框默认值处理详解
Jul 10 Javascript
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 Javascript
javascript实现回到顶部特效
May 06 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
Sep 15 Javascript
vue构建单页面应用实战
Apr 10 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
Aug 25 Javascript
vue2 全局变量的设置方法
Mar 09 Javascript
vue.js项目nginx部署教程
Apr 05 Javascript
vue中的mvvm模式讲解
Jan 31 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
微信小程序template模版的使用方法
Apr 13 Javascript
vue 解决遍历对象显示的顺序不对问题
Nov 07 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读注册表
2006/10/09 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
vue中多个倒计时实现代码实例
2019/03/27 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
Python Flask基础教程示例代码
2018/02/07 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
python3 map函数和filter函数详解
2019/08/26 Python
Django中的session用法详解
2020/03/09 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
婚礼证婚人证婚词
2014/01/08 职场文书
服务之星事迹材料
2014/05/03 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
导游词之昭君岛
2020/01/17 职场文书