this 的几种情况:

function a(){

  alert(this);

}

1.直接调用a()时,this指的是window对象。

2.对象调用

var obj = {
  a : a
}
obj.a();

当一个对象调用a()时,this 指向这个对象(即上例中的obj)。

3.var x;
  a.call(x);
  a.apply(x);

this 指向 x。

4.var ele = document.getElementById("a");

ele.onclick = a;

定义一个元素,调用它的click方法(或其他事件方法)时,this会指向这个元素。

随机推荐

  1. Prefix the choice with ! to persist it to bower.json ? Answer (问你选择哪个1,2,3.........)

    Unable to find a suitable version for underscore, please choose one by typing on e of the numbers be ...

  2. Secondary Namenode - What it really do?

    原文链接:http://blog.madhukaraphatak.com/secondary-namenode---what-it-really-do/ Secondary Namenode is o ...

  3. FZU 2088 最长队名

    Problem 2088 最长队名  Problem Description Jack所在的班级决定组团报名参加FZU校赛.为了体现班级的团结和睦,班长决定用班级所有人的名字连起来组成一个史上最长最醒 ...

  4. mac git 的安装 及实现自动补全

    1.检查是否装了brew $ brew list如果没有,拷贝以下命令到终端 回车.可以安装好brewruby -e "$(curl -fsSL https://raw.githubuser ...

  5. vim编辑器设置文件的fileformat

    问题:dos格式文件传输到centos系统时,会在每行的结尾多一个^M,即dos文件中的换行符"\r\n"会被转换为unix文件中的换行符"\n",而此文件若是 ...

  6. git add -f

    git add -f 添加已被 .gitignore 忽略的文件/文件夹

  7. html和html5学习

    html和html5学习 chorme.safari中的input或textarea html超链接(a)详细讲解 html5新增及删除标签 html表格 图片加alt属性 input的type属性 ...

  8. JS中的Replace只会替换第一处解决办法

    解决这个问题只需将replace的第一个参数使用正则的方式即可,代码如下: var reg = new RegExp(",","g"); var str = & ...

  9. java中equals方法和contentEquals方法区别

    java中,String类里提供了两种字符串的比较方式(算上“==”应该是三种) String line1 = new String("0123456789"); String l ...

  10. C#拾遗(二、函数)

    1. 参数数组.C#的特色,允许函数参数的最后指定一个参数数组,可以使用个数不定的参数调用,用params关键字定义 static double SumVals(params double[] val ...