一种无new创建对象的方法

var L=function(){
   var obj = {
      age:38,
      live:true,
      job:"web dev"
   };

   obj.name = "zhouhui";
   obj.__proto__ = L.prototype;

   return obj;

};

L.prototype={
   getName:function(){
      console.log(this.name);
   },
   getAge:function(){
      console.log(this.age);
   },
   getJob:function(){
      console.log(this.job);
   }
}

var p = L();
console.log(p);
console.log(p.getJob());  //web dev
console.log(p instanceof L); //true
时间: 2024-10-17 06:34:12

一种无new创建对象的方法的相关文章

源码解析一种无模块注入进程方法

对windows安全比较熟悉的同学对模块注入应该都比较了解,很多病毒.木马.外挂都会用到,无模块注入应用得则比较少. 无模块注入的好处是DLL注入进去后,确实已经不以模块的形式存在了,用任何进程模块查看工具,都找不到注入进去的DLL.因为它已经变为一块纯堆内存,跟EXE主模块里申请的堆没有任何差别. 这里讲的一种无模块注入的方法,能够让DLL自身实现这样的功能,无需外部注入工具帮助处理.当然如果进程内自行加载这样的DLL后,也是以无模块DLL形式存在. 注入完成后,进程内找不到注入的模块存在,用

C++中三种创建对象的方法【转】

我们都知道C++中有三种创建对象的方法,如下: #include <iostream> using namespace std; class A { private: int n; public: A(int m):n(m) { } ~A(){} }; int main() { A a(1); //栈中分配 A b = A(1); //栈中分配 A* c = new A(1); //堆中分配 delete c; return 0; } 第一种和第二种没什么区别,一个隐式调用,一个显式调用,两者

JavaScript基础之创建对象的方法

ECMA-262把对象定义为:"无序属性的集合,其属性可以包含基本值.对象或者函数."严格来讲,这就相当于说对象是一组没有特定顺序的值.对象的每个属性或者方法都有一个名字,而每个名字都映射到一个值.正因为这样,我们可以把ECMAScript的对象想像成散列表:无非就是一组名值对,其中值可以是数据或函数. 创建对象的方式多种多样,理解和掌握每种创建对象的方法对于学会JavaScript这门语言是十分重要的. 一.使用Object构造函数 var person = new Object()

JSP中对页面跳转的不同方法引出HTTP无状态的应对方法

首先我们来看今天所学应用到的一个例子,当我们做了一个登陆页面,提交表单后往往需要跳转到另外一个页面.这里可以用两个方法,方法如下: 1.response用法: response.sendRedirect("URL");  (是对服务器请求的响应) 2.request的用法: request.getRequestDispatcher("URL").forward(request, response);   (是装载着客户端请求的信息集合) 但是两种用法是有所不同的.r

js创建对象的方法

1. 使用Object构造函数来创建一个对象,下面代码创建了一个person对象,并用两种方式打印出了Name的属性值. var person = new Object(); person.name="kevin"; person.age=31; alert(person.name); alert(person["name"]) 2. 使用对象字面量创建一个对象:不要奇怪person["5"],这里是合法的:另外使用这种加括号的方式字段之间是可以

&lt;28&gt;【了解】10-枚举类型介绍及定义+【掌握】11-枚举变量变量定义和使用+【掌握】13-typedef定义新的类型+【掌握】15-宏的概念及无参宏定义方法+【掌握】16-有参宏定义和使用方法+【掌握】17-应用:使用有参宏求最大值+【掌握】18-typedef和#define的区别

[了解]10-枚举类型介绍及定义 枚举类型: C语言提供了一个种类型,这种类型的变量的取值被限定在一定的范围之内了 枚举类型的定义: enum 枚举类型名{ 枚举值1,枚举值2,.... }; 举例: 定义一个变量,保存一周的第几天 enum weekday{ zhouyi,zhouer,zhousan,zhousi,zhouwu ,zhouliu,zhouri }; 定义iPhone手机的颜色 关于枚举类型元素的命名习惯 enum iColor{kIcolorWhite,kIcolorBlac

数值算法:无约束优化之一维搜索方法之黄金分割法、斐波那契数列法

目标函数为一元单值函数f:R->R的最小化优化问题,一般不会单独遇到,它通常作为多维优化问题中的一个部分出现,例如梯度下降法中每次最优迭代步长的估计. 一维搜索方法是通过迭代方式求解的,这不同于我们人脑的直接通过解表达式求解方法.迭代算法是从初始搜索点x(0)出发,产生一个迭代序列x(1),x(2),....在第k=0,1,2,...次迭代中,通过当前迭代点x(k)和目标函数 f 构建下一个迭代点x(k+1).某些算法可能只需要用到迭代点处的目标函数值,而另一些算法还可能用到目标函数的导数 f'

通过反射动态创建对象、方法

之前做的都是获取特性对象,都是查元数据的信息,现在我们可以通过反射开始动态的去创建对象和方法 1.两种调用无参构造函数的方法: 创建一个DemoClass,里面有无参构造函数和有参构造函数 public class DemoClass { public string Name { get; set; } public int Age { get; set; } public DemoClass() { Console.WriteLine("无参构造函数被调用啦"); } public

web前端教程之javascript创建对象的方法

今天给大家讲讲javascript基础教程中的javascript面向对象的技术,这一次我们深入的学习一下JavaScrip基于t面向对象之创建对象,关于面向对象的一些术语这里就不给大家介绍了,不了解的朋友可以自行去查看. 使用预定义对象只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自己专用的对象. ECMAScript 拥有很多创建对象的方法. 一原始方式 因为对象的属性可以在对象创建后动态定义,所有许多开发者都在JavaScript 最初引入时编写类似下面的代码: [javasc