2014-01-28 73 views
0

我正在編寫能夠加載和使用插件的JavaScript-Software。爲插件設置「use strict」

這些插件也可以由其他用戶編寫。

現在我想修改我的插件管理器,它爲所有模塊設置了"use strict"選項 - 這可能嗎?

這是插件目前如何寫:

"use strict"; //I want to add this command automatically by the plugin-manager 
window.pluginName = { 
    "version": "0.1", 
    "attribute": function(){}, 
    ... 
} 

如何被加載插件:

我做一個Ajax請求的JS-文件(其中包含exacly一個插入)。當文件準備就緒時,我可以通過「var newPlugin = window[pluginName];」訪問它

是否可以自動使用嚴格模式,還是必須依賴插件 - 寫入器使用此標誌進行調試?

回答

0

嚴格模式是在變量範圍內定義的,所以爲每個插件設置「use strict」的唯一方法是將聲明置於頂部的函數中,或包含所有插件定義的函數中。

影響所有插件的唯一方法是全局定義它,除非您完全確定所有將運行的JavaScript在嚴格模式下都能正常工作,否則這不是一個好主意。

+0

我的插件目前將其定義爲「globaly」 - 位於文件的開頭。它是否也會影響其他包含的js文件,還是僅限於自己的文件?此外,如果我在文件中間定義它 - 它是否也會影響以前的代碼? – maja

+0

如果它們是單獨的腳本,那麼使用strict應該隻影響那個腳本,即使它是全局腳本。不知道你的意思是「在文件中間」。聲明性需求位於函數的頂部或文件的頂部。它應該是在該函數或文件中執行的第一個語句。該函數可能位於文件的中間,而「use strict」只會影響該函數的作用域。 –

相關問題