转自:微点阅读 https://www.weidianyuedu.com
<script type="text/javascript">
//不包含this 的函数 调用方法
function pp(){
pp.p1 = "sadsad"
pp.p2 = 23
pp.p3 = function(){ alert("11111111")}
}
pp() // 必须先调用一次才能使用 (直接调用)
alert(pp.p1)
alert(pp.p2)
pp.p3()
//==========================================
// var rr = new pp() //以实例进行的调用
// pp.p3()
// alert(pp.p1)
//=============================================
var kk =pp() //以赋值方式调用方法
alert(pp.p1)
pp.p3()
//====================================
</script>
===========================================
在js对象的方法中调用上级的属性
var obj = {
name: "myName";
getName: function() {
return name;
}
}
console.log(obj .getName())//undefined
这是作用域的问题,也就是说你对象里面的变量其实是private(私有)的,对对象里面的方法是隐藏的,这时我们就需要用this指针才能找得到对象的变量,在外部引用对象是对象名称充当了this指针。
所以说只有加this才能引用到对象的变量:
<script>
var obj = {
name:'eve',
getName:function () {
return this.name;
}
};
//alert(obj.name);//eve
alert(obj.getName());//eve
</script>