运行程序,解读this指向---case6

function Parent() {
  this.a = 1;
  this.b = [1, 2, this.a];
  this.c = { ckey: 5 };
  this.show = function () {
    console.log(this.a , this.b , this.c.ckey);
  }
}
function Child() {
  this.a = 2;
  this.change = function () {
    this.b.push(this.a);
    this.a = this.b.length;
    this.c.ckey = this.a++;
  }
}
Child.prototype = new Parent();
var parent = new Parent();
var child1 = new Child();
var child2 = new Child();
child1.a = 11;
child2.a = 12;
parent.show(); // 1 [1,2,1] 5
child1.show(); // 11 [1,2,1] 5
child2.show(); // 12 [1,2,1] 5
child1.change();
child2.change();
parent.show(); // 1 [1,2,1] 5
child1.show(); // 5 [1,2,1,11,12] 5
child2.show(); // 6 [1,2,1,11,12] 5
时间: 2024-10-17 22:07:22

运行程序,解读this指向---case6的相关文章

利用fork()和execve()运行程序

#include "csapp.h" #define MAXARGS 128 /*本案例学习fork()函数建立进程,以及execve()函数加载并运行程序*/ //eval函数用于解析命令行并执行相关命令 void eval(char *cmdline) {   char *argv[MAXARGS];   char buf[MAXLINE];   int bg;   pid_t pid;   strcpy(buf,cmdline); //复制字符串   bg=parseline(b

操作系统篇-hello world(免系统运行程序)

  一.前言 今天起开始分享关于操作系统的相关知识,本人也是菜鸟一个,正处于学习阶段,这整个操作系统篇也是我边学习边总结的一些结果,希望能给正在学习或者有意向学习操作系统的童鞋带来帮助. 二.有关知识 在进入代码之前,先给大家普及一些硬件知识,如果你已经具备了这方面的知识,可以直接略过这部份. 1.计算机怎么启动操作系统的? 首先,我们思考一个问题,为什么一个硬盘安装系统之后打开计算机电源之后就能正常加载启动呢?这看起来似乎很智能,似乎计算机像活的一样会自动去硬盘中找系统代码并自行加载.其实不然

gdb系列之四 在GDB里运行程序

在你开始在GDB里运行程序前,你需要在编译的时候产生调试信息. 你可以在你选定的环境里带参数(如果有的话)的启动GDB.如果你是在本地调试,你可以重定向输入输出,调试一个已运行 的进程,或者结束一个进程. 4.1 为调试而编译 为了有效的调试程序,你需要在编译的时候产生调试信息.调试信息存储在目标文件里:调试信息描述了数据和函数的类型, 源代码和可执行代码的对应关系. 编译时指定编译器的'-g'选项可以产生调试信息. 在编译给你的客户发布的程序时,可以用'-O'选项指定编译器进行优化.然而,许多

Sublime Text 3运行程序以及分栏快捷键的设置

Sublime Text 3软件由于每次运行程序都要执行:Tools -> SublimeREPL -> Python -> RUN current file 菜单有点麻烦,所以现在可以考虑给他创建个快捷键 依次点击:perferences ------ key bindings user,将下列代码粘贴 {"keys":["f2"],"caption": "SublimeREPL: Python - RUN curr

IntelliJ IDEA 配置运行程序

IntelliJ IDEA 对于Javaer开发来说还是很nice的,就是第一次用可能配置项有点生疏,这里就记录一下IntelliJ IDEA 配置运行程序. 1. 点击Edit Config... 2.点击Configure...   然后设置本地Tomcat路径 3.点击Deployment,然后点击+按钮,在弹出框里选择启动项.(ps:图中工程名均已打码处理),选中启动项点击弹出框的"OK"按钮.Application context可以设置每次打开的默认路径 4.给你的这次设置

黑马程序员——java——获取一个应用程序运行的次数,如果超过5次,给出使用次数已到请注册的提示,并不要再运行程序

获取一个应用程序运行的次数,如果超过5次,给出使用次数已到请注册的提示,并不要再运行程序 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class Test5 { public static void main(String[] args) th

实现关闭ssh继续运行程序---tmux

问题1:为什么ssh一关闭,程序就不再运行了 元凶:SIGHUP 信号 让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉. 在Linux/Unix中,有这样几个概念: 进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID. 会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader).会话期ID为首进程的ID. 会话期可以有一个单独的控制终端(controlling termin

gdb动态挂运行程序并调试

/* * gdb动态挂运行程序并调试 * 编译程序: * gcc gdb_attach2.c -o gdb_attach2 -g * * 运行程序: * ./gdb_attach2 * * 查看程序进程代号: * ps ax | grep gdb_attach2 * 3973 pts/0 S+ 0:00 ./gdb_attach2 * * 启用gdb挂载程序: * gdb gdb_attach2 3973 * * 在目标位置设置断点 * b gdb_attach2.c:44 * Breakpoi

Eclipse运行程序提示:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

问题描述: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 问题原因: 程序中对象引用过多导致堆空间不足,导致内存溢出 解决方案: (增大Java虚拟机的内存空间) 打开Eclipse,选择"Run" - "Run Configurations" - "(x)=Arguments",VM arguments栏中填写 -Xmx800m