javascript中创建对象的三种常用方法_javascript技巧

创建对象的三种方法
方法一:

复制代码 代码如下:

var obj = new Object();
obj.属性 = 值;
//继续添加其它属性
obj.方法 = function(参数) {
//功能代码
}
//继续添加其它方法

方法二:

复制代码 代码如下:

var obj = {
属性:值 ,
//继续添加其它属性 ,
方法: function(参数) {
功能代码
} ,
//继续添加其它方法
}

以上两种方法都是直接创建一个对象

方法三:

复制代码 代码如下:

//先定义对象的模型,也可以理解为类
function obj(参数) {
this.属性 = 值;
//继续添加其它属性
}

obj.prototype.方法 = function(参数) {
//功能代码
....
}
//继续添加其它方法

//再根据对象的模型实例化对象
var aTest = new obj(参数)

时间: 2024-09-19 09:03:29

javascript中创建对象的三种常用方法_javascript技巧的相关文章

详细分析Javascript中创建对象的四种方式_javascript技巧

前言 使用Javascript创建对象的方式有很多,现在就来列举一下其中的四种方式,并且罗列出了每种方式的优缺点,可以让大家进行选择使用,下面来看看. 工厂模式 function createPerson(name, age){ var obj = new Object(); obj.name = name; obj.age = age; return obj; //一定要返回,否则打印undefined:undefined } var person1 = new createPerson('Y

JavaScript中对象的不同创建方法_javascript技巧

javascript中的对象与一般的面向对象的程序设计语言(c++,Java等)不同,甚至很少有人说它是面向对象的程序设计语言,因为它没有类.javaScript只有对象,不是类的实例.javascript中的对象是基于原型的. 1.1句点运算符创建 javascript中的对象实际上就是一个由属性组成的关联数组,属性由名称和值组成,值的类型可以是任何数据类型,或者函数和其他对象. 创建一个简单对象: var foo = {}; foo.prop_1 = 'bar'; foo.prop_2 =

深入剖析javascript中的exec与match方法_javascript技巧

exec是正则表达式的方法,而不是字符串的方法,它的参数才是字符串,如下所示: var re=new RegExp(/\d/); re.exec( "abc4def" ); //或者使用perl风格: /\d/.exec( "abc4def" ); //match才是字符串类提供的方法,它的参数是正则表达式对象,如下用法是正确的: "abc4def".match(\d); exec和match返回的都是数组 如果执行exec方法的正则表达式没有分

深入理解JavaScript中为什么string可以拥有方法_javascript技巧

引子 我们都知道,JavaScript数据类型分两大类,基本类型(或者称原始类型)和引用类型. 基本类型的值是保存在栈内存中的简单数据段,它们是按值访问的.JS中有五种基本类型:Undefined.Null.Boolean.Number和String. 引用类型的值是保存在堆内存中的对象,它的值是按引用访问的.引用类型主要有Object.Array.Function.RegExp.Date. 对象是拥有属性和方法的,所以我们看到下面这段代码一点也不奇怪. var favs=['鸡蛋','莲蓬']

总结Javascript中数组各种去重的方法_javascript技巧

前言 在做javascript开发的时候,经常会遇到数组元素重复的问题,而javascript Array又没有直接提供方法解决此问题,还需要自己去实现.这篇文章总结了Javascript中数组各种去重的方法,下面来一起看看. 方法一 利用对象属性不重复的特性 Array.prototype.distinct = function (){ var arr = this, i, obj = {}, result = [], len = arr.length; for(i = 0; i< arr.l

JavaScript中创建对象和继承示例解读_javascript技巧

对象创建: 当一个函数对象被创建时候,Function构造器产生的函数对象会运行类似这样的代码: 复制代码 代码如下: this.prototype={constructor:this}; 假设函数F F用new方式构造对象时,对象的constructor被设置成这个F.prototype.constructor 如果函数在创建对象前修改了函数的prototype,会影响创建出来对象的construtor属性 如: 复制代码 代码如下: function F(){}; F.prototype={

注意 JavaScript 中 RegExp 对象的 test 方法_javascript技巧

JavaScript 中的 RegExp 对象用于正则表达式相关的操作,这个对象提供了一个方法 test 来判定某个字符串是否满足某个 pattern. 返回值是 true/false. 今天我碰到了一个问题: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]这里两个测试的字符串应该都满足正则表达式中的模式,返回 true. 可是测试结果却依次是:true, false. 我估计问题的原因可能是因为 RegExp 对象是有状态的,并且在 test 方法的执行时会在某个步骤中利用到状态信

JavaScript中实现块作用域的方法_javascript技巧

例如下面这段代码 复制代码 代码如下: { var temp = "12"; } alert(temp); //输出 12 如果按照通常的编程经验,那么alert函数是不可以访问到temp变量的,因为它在另外一个块中,但是在JavaScript中,却没有块作用域的概念,所以这种语法对JS不起作用,但是我们在写JS程序的时候,尤其是比较大的程序或是程序库,为了防止命名冲突,又需要一种控制变量作用域的机制,所以这里介绍一种比较普遍的方式,来实现块作用域的概念,代码如下: 复制代码 代码如下

在javascript中实现函数数组的方法_javascript技巧

js与java之类的语言一个最大的不同之处在于函数也被视为数据,能够像java中的一个对象一样操作.并且由于js不进行类型检查,数组可以存放任何东西.于是我就想数组里可否存放函数呢. 实现以下功能: 函数在调用后把自己存放到数组中(可根据参数不予存放) 然后可以用一个大函数来操作数组,调用其中的函数. 本来我想用这个方法执行一次Undo功能(就是每个函数把自己存放进去,如果Undo则剔除最后一个函数,把整个队列执行一遍),后来觉得这样太麻烦.不过函数数组的功能倒是实现了:贴上JSP 复制代码 代