aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/mozilla/tech/xpcom/language_bindings/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/mozilla/tech/xpcom/language_bindings/index.html
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/zh-cn/mozilla/tech/xpcom/language_bindings/index.html')
-rw-r--r--files/zh-cn/mozilla/tech/xpcom/language_bindings/index.html20
1 files changed, 20 insertions, 0 deletions
diff --git a/files/zh-cn/mozilla/tech/xpcom/language_bindings/index.html b/files/zh-cn/mozilla/tech/xpcom/language_bindings/index.html
new file mode 100644
index 0000000000..cf8ced2678
--- /dev/null
+++ b/files/zh-cn/mozilla/tech/xpcom/language_bindings/index.html
@@ -0,0 +1,20 @@
+---
+title: 语言绑定
+slug: Mozilla/Tech/XPCOM/Language_Bindings
+tags:
+ - XPCOM
+ - 'XPCOM:Language Bindings'
+translation_of: Mozilla/Tech/XPCOM/Language_Bindings
+---
+<p>一款 <strong>XPCOM 的语言绑定</strong>是连接某种特定的程序设计语言与 <a href="/cn/XPCOM" title="cn/XPCOM">XPCOM</a> 之间的纽带,它用来提供从语言到 XPCOM 对象的访问, 并且将此种语言写成的模块作为其他进行 XPCOM 绑定的程序语言的 XPCOM 对象。 </p>
+<p>更具体的说, 一个 XPCOM 语言绑定:</p>
+<ul>
+ <li>允许<em>在特定的程序设计语言中访问 XPCOM 对象</em>(此处,访问的意思是能够读取、写入和创建 XPCOM 对象以及调用这些对象的方法)。</li>
+ <li>暴露<em>由</em><em>特定的程序设计语言</em><em>编写的模块并使之成为一个 XPCOM 对象</em>,从而允许所有已绑定的其它程序设计语言能够访问这些模块。</li>
+</ul>
+<p>由于 XPCOM 层本身使用 C/C++ 编写,因此可以使用 C/C++ 直接访问其 API。而当其它的程序设计语言需要访问该 API 时,则需要通过额外的桥接层来实现。</p>
+<p>当前有效的链接层如下:</p>
+<p></p><div class="row topicpage-table">
+ <div class="section"><dl><dl><dt class="landingPageList"><a href="/zh-CN/docs/Components_object">Components</a></dt><dd class="landingPageList"><code>Components</code> 对象是 <a href="https://developer.mozilla.org/en/XPConnect" title="en/XPConnect">XPConnect</a> 功能被映射到 <a href="https://developer.mozilla.org/en/JavaScript" title="en/JavaScript">JavaScript</a> 上的对象。<code>Components</code> 对象的 native 实现位置在   <a href="https://dxr.mozilla.org/mozilla-central/source/js/xpconnect/idl/xpccomponents.idl" rel="custom">nsIXPCComponents</a> , 这个接口会被映射成JavaScript 作为使用 XPConnect 的最高层级的对象。</dd><dt class="landingPageList"><a href="/zh-CN/docs/Components.classes">Components.classes</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/zh-CN/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.cloneInto">Components.utils.cloneInto</a></dt><dd class="landingPageList">该函数为定义在某一作用域中的对象提供了一个安全的、将其<a href="https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/The_structured_clone_algorithm">结构化克隆</a>到其字作用域中的方法,</dd><dt class="landingPageList"><a href="/zh-CN/docs/Components.utils.evalInSandbox">Components.utils.evalInSandbox</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/zh-CN/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.getGlobalForObject">Components.utils.getGlobalForObject</a></dt><dd class="landingPageList"><font>此方法是用于确定与对象关联的全局对象。用于</font>获取创建对象时所处的全局对象, 即在执行创建对象的脚本时使用的全局对象。</dd></dl></dl></div>
+ <div class="section"><dl><dt class="landingPageList"><a href="/zh-CN/docs/Components.utils.import">Components.utils.import</a></dt><dd class="landingPageList">这个方法在 <a href="/en/Firefox_3_for_developers" title="en/Firefox_3_for_developers">Firefox 3</a> 中被引入,它使得在不同的作用域之间分享代码变得更加容易。例如:你可以直接导入 <a href="/en/JavaScript_code_modules/XPCOMUtils.jsm" title="en/XPCOMUtils.jsm">XPCOMUtils.jsm</a> 而不必复制/粘贴冗长的XPCOM组件。</dd><dt class="landingPageList"><a href="/zh-CN/docs/Mozilla/Tech/XPCOM/Language_bindings/JavaXPCOM">JavaXPCOM</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/zh-CN/docs/Mozilla/Tech/XPCOM/Language_bindings/PyXPCOM">PyXPCOM</a></dt><dd class="landingPageList"></dd><dt class="landingPageList"><a href="/zh-CN/docs/Mozilla/Tech/XPCOM/Language_bindings/XPConnect">XPConnect</a></dt><dd class="landingPageList">[<a class="external" href="http://developer.mozilla.org/en/docs/XPConnect">] </a></dd></dl></div>
+ </div><p></p>