`
hancslg
  • 浏览: 3664 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaScript中申明对象的几种方法

阅读更多
在JavaScript中可以用下面的几种方法申明对象:(从"Truly"的文章中学到)
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对象模型

    主要包括以下几种: - **Undefined**: 表示变量已声明但未赋值的状态。 - **Null**: 特殊的空值,通常用于表示空的对象引用。 - **Boolean**: 布尔型数据,值只能为`true`或`false`。 - **Number**: 数字类型,可以...

    javascript如何创建对象

    JavaScript是基于对象的语言,其能够利用面向对象思想来模拟其他如JAVA、C++等面向对象语言。...以上就是在JavaScript中创建对象的几种主要方法。通过这些方法,我们可以根据不同的需求和场景来灵活地创建和使用对象。

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

    JavaScript是一种广泛使用的脚本语言,它在声明对象时提供了多种方法。以下是对给定文件内容的详细知识点总结: 1. JavaScript对象的声明方法 在JavaScript中,对象可以通过不同的方式声明。最常见的方式包括使用...

    javascript面向对象特性代码实例

    在本篇文章中,作者详细阐述了JavaScript面向对象编程的几个关键特性,并通过代码示例展示了这些特性的具体应用。首先,我们来了解几个核心概念:类、静态成员、对象和重载。 类在面向对象编程中扮演着基础的角色,...

    JavaScript面向对象编程指南 第2版 高清 带索引书签目录_样章.pdf

    从所提供的文件信息中,我们可以总结以下几点与“JavaScript面向对象编程指南 第2版 高清 带索引书签目录_样章.pdf”相关的重要知识点。 首先,该文件提到的书籍是关于JavaScript面向对象编程的,面向对象编程...

    JavaScript中创建类/对象的几种方法总结

    在JavaScript中创建类或对象的方法主要包括以下几种: 一、使用大括号创建对象 在JavaScript中,可以通过大括号 {} 来创建一个简单的对象。这种方式可以快速定义一个对象字面量,该对象可以包含多个属性,属性名...

    面向对象的JavaScript.doc

    本文将探讨几种在JavaScript中声明和使用面向对象的方式。 首先,我们来看**工厂模式**。这是一种创建对象的模式,通过定义一个函数来创建具有特定属性和方法的对象。在工厂模式中,我们通常先定义一个基础结构,...

    JavaScript声明全局变量访问方法

    本篇文章将深入探讨JavaScript声明全局变量的几种方法以及如何访问这些变量。 1. **全局变量的声明方式** - **`var` 关键字**:这是最传统的声明全局变量的方式。当你在函数外部或任何代码块之外使用`var`关键字...

    JavaScript中文参考手册

    JavaScript是一种广泛应用于Web开发的脚本语言,由Netscape公司的Brendan Eich在1995年创造,最初命名为LiveScript。它并非与Java有关,而是基于ECMAScript规范,现在主要由Mozilla基金会的Mozilla开发联盟维护。...

    javascript 快速入门教程,javascript面向对象编程

    ##### 函数的几种调用方式 - 直接调用 - 作为对象的方法调用 - 构造函数调用 - apply/call/bind 调用 #### 五、数组 数组是 JavaScript 中用于存储一系列数据的容器。 ##### 数组的定义 ```javascript var arr = ...

    javaScript 中文开发文档

    JavaScript是一种广泛应用于Web开发的脚本语言,它主要在客户端运行,为网页添加交互性。JavaScript不是Java的子集或版本,而是独立发展的语言,由 Netscape 的 Brendan Eich 创建。此“JavaScript 中文开发文档”是...

    JavaScript对象共6页.pdf.zip

    JavaScript对象是编程语言JavaScript中的核心概念,它在Web开发中起着至关重要的作用。JavaScript是一种动态类型、基于原型的语言,其对象系统是其灵活性和强大功能的基础。在深入理解JavaScript对象之前,我们需要...

    JavaScript中文帮助文档

    JavaScript,作为一种广泛应用于网页和网络应用的编程语言,已经成为现代前端开发的核心技术。它以其动态类型、基于原型的对象和函数作为一等公民的特性而著称。对于那些在学习过程中遇到英文文档理解难题的人来说,...

    Qt6 QML Book/JavaScript/JS对象示例源码

    2. **方法调用**:QML对象可以有JavaScript定义的方法,这些方法可以在QML中直接调用,实现更复杂的逻辑处理。 3. **事件处理**:JavaScript函数可以作为事件处理器,当特定事件触发时执行相应的逻辑。 4. **数据...

    Javascript5.5 中文手册

    10. **类(Classes)**:JavaScript5.5中引入了类的语法糖,虽然本质上仍然是基于原型的继承,但类的语法使得面向对象编程更加直观,支持静态方法和构造函数等特性。 这些只是JavaScript5.5中的一部分核心概念和...

    JavaScript中文手册

    JavaScript是一种广泛应用于网络开发的脚本语言,主要在客户端运行,为用户提供动态、交互式的网页体验。这份"JavaScript中文手册"全面涵盖了JavaScript的核心概念、语法和API,是学习和参考JavaScript的重要资源。 ...

    javascript 内置对象大全(完整版)

    JavaScript内置对象是其核心组成部分,包括但不限于以下几类: - **Global对象**:全局函数和变量,如`Math`(数学函数)、`Date`(日期时间)、`Array`(数组)、`String`(字符串)、`Number`(数字)、`Boolean`...

    学习JavaScript的几本书!

    首先,"JavaScript源代码大全"通常会提供JavaScript语言的内部工作原理,包括变量声明、数据类型、控制结构(如if语句和循环)、函数、对象以及事件处理等。通过这本书,你可以理解JavaScript如何在浏览器环境中运行...

    javascript

    1. JavaScript的变量类型:JavaScript中主要有几种基本的变量类型,包括字符串、整型、浮点型、布尔型、数组、对象、JSON对象、NaN、null和undefined。这些类型帮助我们定义和操作数据。 - 字符串类型用于表示文本...

Global site tag (gtag.js) - Google Analytics