0

3000

JavaScript设计模式--- call 实现继承

乐果   发表于   2014 年 11 月 14 日

1.JScript官方解释:

call 方法

调用一个对象的一个方法,以另一个对象替换当前对象。

**call([thisObj[,arg1[, arg2[, [,.argN]]]]]) **

参数 thisObj 可选项。将被用作当前对象的对象。

arg1, arg2, , argN 可选项。将被传递方法参数序列。

说明

call 方法可以用来代替另一个对象调用一个方法。

call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

要求 版本 5.5

2.我的理解

以obj1.method1.call(obj2,argument1,argument2,…)为例:

call方法的调用者:一个对象的方法(在js里面方法/函数也是对象),

调用者为,obj1.method1

call方法的参数:一个新对象(obj2),这个对象的作用是“拦截”对象obj1,来运行本来属于obj1的method方法;而 argument1,argument2,…就是给method传递参数了 call方法的结果:obj1.method1.call(obj2,argument1,argument2,…)等价于: obj2.method1(argument1,argument2,…) call方法的作用:obj1.method方法得到重用、共享,有new的特效,实现继承 最简单的理解: 关于call,把隐藏的第一个参数显示化。因为通常一个方法x的调用,会有一个额外的隐藏参数,就是x所属的对象,如果没有所属,则为global(如window)对象,并在函数内可以用this关键字访问之。

3.一些实例

(1)方法得到重用、共享

代码

function show()
{
var id = "1"
this.h = function()
{
alert(id);
}
}
//var a=new show();
var a={};
var b={};
show.call(a);
show.call(b);
a.h();
b.h();

-……

标签:JavaScript 继续阅读

0

3662

svn钩子同步代码

乐果   发表于   2014 年 11 月 14 日

shell代码如下:

#!/bin/sh
export LANG=en_US.UTF-8
PATH=/usr/bin
SVN=$PATH/svn
SVN_LOGIN_INFO="--username ***** --password ********"
#SVN_LOG=/var/log/svn/${DATE}-svn.log
SVN_SRC=/opt/code_src/shop-yun/
WEB_SRC=/opt/www-data/shop-yun/
RSYNC=/$PATH/rsync
DATE=`/bin......

标签:shellsvn 继续阅读

0

4267

树莓派系统烧制

乐果   发表于   2014 年 11 月 14 日

烧制系统

先下载镜像文件,例如:xxxx.img 文件

fdiks -l 命令查看硬盘,选择硬盘,例如 /dev/nvme0n1

然后我们可以使用 dd 命令清空下 NVMe SSD(可选):

sudo dd bs=1M if=/dev/zero of=/dev/nvme0n1 count=2000 status=progress
sudo syn

然后就可以使用 dd 命令烧录开发板的 linux镜像到硬盘中:

sudo dd bs=1M if=xxxx.img of=/dev/nvme0n1 status=progress
......

标签:树莓派linuxarm 继续阅读

0

2695

C语言:"字符串"

乐果   发表于   2014 年 11 月 14 日

字符串其实就是字符型数组

/************************
 * C语言学习 --- 字符串
 * @auth unphp@qq.com
 * @date 2014-10-27
 **********************/

 #include <stdio.h>
 #include <stdlib.h>

 int main()
 {
     int doses[] = {1,3,2,1000};
     char *s,*b;
     p......

标签:c 继续阅读

0

2533

windows下golang交叉编译的环境

乐果   发表于   2014 年 11 月 13 日

第一步:先下载golang包

比如安装的路径为: D:\Program Files\go

第二步:设置环境变量

1、path后追加D:\Program Files\go\bin

2、新增GOPATH,值随你自己设置了。

这个主要是为了后面安装扩展包命令“go get … ”用到。

还有就是你的golang代码里import载入包时,它会去GOPATH的路径中寻找。

第三步:交叉编译环境

1、下载安装函数包MinGW,百度一下MinGW安装的资料很多,安装好后并且也需要设置下path。

2、D:\Program Files\go\src中新建一个cc.ba……

标签:golang 继续阅读

较新的笔记