<script type="text/javascript"> //不包含this 的函數(shù) 調(diào)用方法 function pp(){ pp.p1 = "sadsad" pp.p2 = 23 pp.p3 = function(){ alert("11111111")} } pp() // 必須先調(diào)用一次才能使用 (直接調(diào)用) alert(pp.p1) alert(pp.p2) pp.p3() //========================================== // var rr = new pp() //以實(shí)例進(jìn)行的調(diào)用 // pp.p3() // alert(pp.p1) //============================================= var kk =pp() //以賦值方式調(diào)用方法 alert(pp.p1) pp.p3() //==================================== </script> ===========================================
在js對(duì)象的方法中調(diào)用上級(jí)的屬性
var obj = { name: "myName"; getName: function() { return name; } } console.log(obj .getName())//undefined 這是作用域的問題,也就是說你對(duì)象里面的變量其實(shí)是private(私有)的,對(duì)對(duì)象里面的方法是隱藏的,這時(shí)我們就需要用this指針才能找得到對(duì)象的變量,在外部引用對(duì)象是對(duì)象名稱充當(dāng)了this指針。 所以說只有加this才能引用到對(duì)象的變量: <script> var obj = { name:'eve', getName:function () { return this.name; } }; //alert(obj.name);//eve alert(obj.getName());//eve </script>
|