jquery--this

简介:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type=text/javascript charset=utf-8>
var x = "x";
var y = "yyy";
function F(a){
    this.n = 'fsfsf';
    this.sc = 4;
    var i = new init(this);//F(),this指的是window
    i.ii = "ii";
}

function init(o){
    alert(o);//[object Window]
    alert(sc);//4
    alert(o.x);//x
    alert(o.y);//yyy
    this.n = o.sc;  //init方法不是对象调用的时候,new的时候this指的是本类的对象,不是window对象
    this.name = "namename";
    this.o = o;
    that = this;
    return function(){
        alert("333" + this.n);//undefined,this是这个匿名函数的对象
        alert("333" + that.n);
        this.h = that;
        this.k = that.n;
        this.a = that.a
    }
    ;
}
alert(1);
var d = F(3);
alert(window.n)//fsfsf
alert(2);
var dd = new d();
alert(window.name)//
alert(3);
alert(dd.k);//4
alert(dd.h.name);//namename   
alert(dd.a.n);//fsfsf 
alert(window.k);//undefined
alert(window.h.name);//Cannot read property 'name' of undefined   
alert(window.a.n);//Cannot read property 'n' of undefined   



function F(a){
    this.n = 1;
    this.sc = 4;
    return new init(this);//this是F对象
}

function init(a){
    alert("111" + a.sc);//4
    this.n = a.sc;
    return {
        k : this.n
    }
}
alert(1);
var d = F(3);
alert(d.k); //4


function F(a){
    this.n = 1;
    this.sc = "scscsc";
}
var d = new F();
alert(window.sc);//undefined
</script>
</head>
<body>
</body>
</html>
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6900332.html,如需转载请自行联系原作者

相关文章
|
8月前
|
JavaScript
jQuery 下拉菜单案例(透明+children+this)
jQuery 下拉菜单案例(透明+children+this)
45 0
|
5月前
|
JavaScript 前端开发 开发者
$(this) 和 this 关键字在 jQuery 中有何不同?
$(this) 和 this 关键字在 jQuery 中有何不同?
36 0
|
3月前
|
JavaScript 前端开发
$(this) 和 this 关键字在 jQuery 的不同
$(this) 和 this 关键字在 jQuery 的不同
9 0
|
JavaScript
JQuery this 和 $(this) 详解
this  this 在面向对象语言中,指代调用上下文对象,在js中,也是一模一样的概念,所以不管这个this出现在什么地方,只要追踪到当前调用对象是什么,那么this是什么也就一目了然了。 先看一个简单示例 (function(){ console.log("Normal function being invoked by: "+ this); })(); 输出:
1272 0
|
7月前
|
JavaScript
Jquery插件知识之Jquery.cookie实现页面传值
Jquery插件知识之Jquery.cookie实现页面传值
36 0
|
8月前
|
JavaScript
jQuery 插件自用列表
jQuery 插件自用列表
29 0
|
4月前
|
JavaScript
jQuery图片延迟加载插件jQuery.lazyload
jQuery图片延迟加载插件jQuery.lazyload
|
4月前
|
JavaScript 数据可视化 前端开发
jQuery-JS插件-第9次课-使用插件让领导对你刮目相看-附案例作业
jQuery-JS插件-第9次课-使用插件让领导对你刮目相看-附案例作业
19 0