在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 怎么在一個(gè)函數(shù)里修改另外一個(gè)函數(shù)里的函數(shù)?

怎么在一個(gè)函數(shù)里修改另外一個(gè)函數(shù)里的函數(shù)?

假設(shè)我現(xiàn)在有一段代碼

function globalActions(){
  App = function(obj) {
    console.log('This is a global App, app id is ' + obj.id);
  }
  Page = function(obj) {
    console.log('This is a global Page, page id is ' + obj.id);
  }
  App({id: 'app'});
  Page({id: 'page'});
  myGlobalActions();
}
function pluginActions(){
  let originalMyPluginActions = myPluginActions;
  myPluginActions = function(){
    App = undefined
    Page = function(obj) {
      console.log('This is a plugin Page, page id is ' + obj.id);
    }
    originalMyPluginActions.apply(this, arguments);
  }
}
function myGlobalActions(){
  myPluginActions(App, Page);
}
function myPluginActions(){
  let originalApp = arguments[0];
  let originalPage = arguments[1];
  arguments[0] = function() {
    console.log('hello I try to modify the global App fn');
    return originalApp.apply(this, arguments);
  };
  arguments[1] = function() {
    console.log('hello I try to modify the global Page fn');
    return originalPage.apply(this, arguments);
  };
}
pluginActions();
globalActions();

在myGlobalActions里定義App或Page(App = / Page =)是禁止的,能夠修改的只有myGlobalActions和myPluginActions,請(qǐng)問怎么才能修改globalActions里的App和Page?

回答
編輯回答
有你在

動(dòng)態(tài)更改一個(gè)塊級(jí)作用域內(nèi)部的變量,只能用閉包實(shí)現(xiàn)

2017年5月1日 21:02
編輯回答
兔寶寶

如果是你提供的條件,那么是修改不了的,用術(shù)語說,這是 globalActions 函數(shù)的私有屬性,外部是修改不了的。

2018年6月1日 04:19