|
<script>
abc = function(){
this.a;
this.b;
}
abc.prototype = {
getData:function(){
var c = function(num){
alert(num);
this.b = num;
}
c('12345');
},
clearData:function(){
this.getData();
alert(this.b);
}
}
var d = new abc();
d.clearData();
</script>
這部分中:
var c = function(num){
alert(num);
this.b = num;
}
c('12345');
我想把得到的num傳給開始定義好的this.b; 但這樣是不行的,不知怎么寫一下可以? 現在的格式不能改,能改的只有 c = function(){ 這里邊的東西}
可以這樣理解:引用:
function functionName(arg){……};
functionName(argvalue);以這種形式使用函數,是大家最熟悉的。
“()”(括號)可以把包裹在其中的語句變成一個“名詞”。引用:
(function(形參){函數體})把一個匿名函數包裹在括號里,使它對于代碼的其他部分來說,就相當于是一個“名詞”。
于是,引用:
(function(形參){函數體})(實參)就和上面最普通的引用:
函數名(實參)的用法一樣容易理解了,是定義了一個匿名函數并且立即調用的意思。引用:
c = (function(which){return function(num){alert(num);which.b = num}})(this)定義了一個匿名函數并且立即調用,這個函數返回一個匿名函數,返回的函數被賦名為c。
這里把 this對象 作為實參傳遞給 形參which,就把 abc實例對象 的引用提供給內部的匿名函數了。
于是c就成為一個能夠訪問 abc實例對象 的函數了。
技術文,偶喜歡
也可以這樣寫
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
用bind方法
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
JavaScript技術:js 對象外部訪問或者調用問題,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。