this在js中的地位可以说是相当高了,本文介绍下this的基本相关情况,以后还会慢慢介绍

在页面中aler(this)//this的指向是window

在DOM操作中this的指向是当前发生事件的对象

window.onload=function(){
var aLi=document.getElementsByTagName('li'); for(var i=0;i<aLi.length;i++){
aLi[i].onmouseover=function(){
var oDiv=this.getElementsByTagName('div')[0];
oDiv.style.display='block';
};
aLi[i].onmouseout=function(){
var oDiv=this.getElementsByTagName('div')[0];
oDiv.style.display='none';
}
}

但是当内部函数放到外部用一个函数名包起来的时候this的指向变了

window.onload=function(){
var aLi=document.getElementsByTagName('li');
var _this=null;
for(var i=0;i<aLi.length;i++){
aLi[i].onmouseover=function(){
_this=this;
//alert(this);//li
show();
};
aLi[i].onmouseout=function(){
_this=this;
hide();
}
} function show(){
//alert(this);//window 如果不把this存起来 在函数里this是指向window的
var oDiv=_this.getElementsByTagName('div')[0];
oDiv.style.display='block';
} function hide(){
var oDiv=_this.getElementsByTagName('div')[0];
oDiv.style.display='none';
}
};

总结:

this ——跟定义没关系、跟调用有关
想知道this是谁——看调用的地方

附:

this    优先级

高   new   系统替你创建的object
   定时器   window
   事件   发生事件的对象
   方法   对象
低    其他   window

js中的this基础的更多相关文章

  1. 今天给大家分享一下js中常用的基础算法

    今天给大家分享一下js中常用的基础算法,废话不多说,直接上代码: 1.两个数字调换顺序 ,b= function fun(a,b){ b = b - a ;// a = 2 ; b = 2 a = a ...

  2. JS中函数的基础知识

    函数 一.  函数定义 函数又叫方法,在程序里面函数是用来执行某些特定功能的代码.为了减少重复使用代码,可以把特定功能的代码做成函数,需要使用时拿出来调用.alert();就是一个很常见的.简单的函数 ...

  3. HolidayFileDisPersonViewList.js中的一些基础

    1,CSS display 属性 使段落生出行内框: p.inline { display:inline; } none 此元素不会被显示 详细介绍:  http://www.w3school.com ...

  4. angular.js中提供的基础方法

    angular.bind angular.callbacks angular.equals /* *Determines if two objects or two values are equiva ...

  5. JS中Math函数基础

    Math 是数学函数,但又属于对象数据类型 typeof Math => ‘object’

  6. 关于js中的同步和异步

    最近看到前端面试问到js中的同步和异步,这个问题该怎么回答? 梳理一下,js对于异步的处理,很多人的第一反应是ajax,这只能说是对了一半. 1.个人觉得,js中,最基础的异步是setTimeout和 ...

  7. JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

       前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...

  8. javascript基础入门之js中的结构分支与循环语句

    javascript基础入门之js中的结构分支与循环语句 程序的结构①顺序结构:自上而下:②选择(分支)结构:多条路径,根据不同的条件,只执行其中一个:③循环结构:重复某些代码④配合特定的语句实现选择 ...

  9. javascript基础入门之js中的数据类型与数据转换01

    javascript基础入门之js中的数据结构与数据转换01 js的组成(ECMAScript.BOM.DOM)        js中的打印语句:        数据类型        变量      ...

随机推荐

  1. Java学习笔记之:Java Servlet环境配置

    一.介绍 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. 使用 ...

  2. 500 多个 Linux 命令文档搜索

    500 多个 Linux 命令文档搜索 搜索界面:https://wangchujiang.com/linux-command/ 源码:https://github.com/jaywcjlove/li ...

  3. mvc bundle的介绍及使用 转载自 http://www.ityouzi.com/archives/mvc-bundleconfig.html

    Asp.Net MVC4 BundleConfig文件合并.压缩,网站优化加速 浏览器在向服务器发送请求的时候,请求的文件链接数量是有限制的,如果页面文件少就没有什么问题了,如果文件太多就会导致链接失 ...

  4. 使用cp命令时候递归的创建目标目录

    在使用cp命令拷贝文件的时候,有时候会遇到这样的场景: 源文件:/a/b/c/e.txt 目标地址:/mnt/a/b/c/e.txt 而/mnt/a/b/c这个目录结构还没有创建.拷贝的时候还要求目录 ...

  5. 记录一下最近犯得sb的翻车错误

    首先是: 数据范围是long long范围,然后写了一个暴力,觉得过不去,于是开了int范围,最后写了个能骗过所有数据的骗分,然后没开longlong... 接着是: for(int i = l; i ...

  6. 请画出Servlet 2.2以上Web Application的基本目录结构

    Java web工程下的webapp或WebContent就是工程的发布文件夹,发布时会把该文件夹发布到tomcat的webapps里. 一个web应用必须要有的目录文件如下: webapp/WebC ...

  7. Python开发基础-Day25-28FTP项目(待补充)

    optparse C:\Users\Mr.chai>python C:/Users/Mr.chai/Desktop/PythonProject/DAY/day27/LuffyFTP/client ...

  8. Codeforces 372 B. Counting Rectangles is Fun

    $ >Codeforces \space 372 B.  Counting Rectangles is Fun<$ 题目大意 : 给出一个 \(n \times m\) 的 \(01\) ...

  9. adroid swipeRefreshLayout无法显示进度条的问题

    一句话经验:必须嵌套scrollerview或者listview

  10. bzoj1977 次小生成树

    Description 小 C 最近学了很多最小生成树的算法,Prim 算法.Kurskal 算法.消圈算法等等. 正当小 C 洋洋得意之时,小 P 又来泼小 C 冷水了.小 P 说,让小 C 求出一 ...