<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SpiderMonkeyJavaScript腳本引擎

          聯(lián)合創(chuàng)作 · 2023-09-23 03:55

          SpiderMonkey是Mozilla項(xiàng)目的一部分,是一個(gè)用C語言實(shí)現(xiàn)的JavaScript腳本引擎,另外還有一個(gè)叫做Rhino的Java版 本。

          為了在SpiderMonkey中運(yùn)行JavaScript代碼,應(yīng)用程序必須有三個(gè)要素:JSRuntime,JSContext和全局對(duì)象。
          運(yùn)行時(shí)環(huán)境

          JSRuntime,為其中的JavaScript變量、對(duì)象、腳本和應(yīng)用程序中使用的上下文分配空間。每個(gè)JSContext和腳本中的每個(gè)對(duì)象都生活在一個(gè) JSRuntime中。他們不能轉(zhuǎn)移到其他運(yùn)行時(shí)上或在與其它運(yùn)行時(shí)共享。一般來說大多數(shù)應(yīng)用程序只需要一個(gè)運(yùn)行時(shí)環(huán)境。
          上下文

          JSContext,就像是一臺(tái)小機(jī)器,它涉及JavaScript代碼和對(duì)象的很多東西。它可以編譯和執(zhí)行腳本、獲取和設(shè)置對(duì)象屬性、調(diào)用 JavaScript函數(shù)、一種類型轉(zhuǎn)換為另一種JavaScript數(shù)據(jù)、創(chuàng)建對(duì)象,等等。幾乎所有JSAPI函數(shù)都要一個(gè)JSContext*作為其第一個(gè)參數(shù),就像<stdio.h>中的大多數(shù)函數(shù)都需要FILE*一樣.
          全局對(duì)象

          全局對(duì)象包含所有可以在JavaScript代碼中使用的類、函數(shù)和變量。

          當(dāng)JavaScript代碼要做一些事時(shí),比如window.open("http://www.mozilla.org/"),實(shí)際上它是在訪問一個(gè)全局屬性(全局對(duì)象的屬性),在這里是window。

          腳本能看到的全局屬性完全由應(yīng)用程序控制。應(yīng)用程序首先創(chuàng)建一個(gè)對(duì)象并加入JavaScript標(biāo)準(zhǔn)類,如Array和Object。然后加入任何程序想加入的自定義的類、函數(shù)和變量(象這里的window)。應(yīng)用程序每次運(yùn)行js腳本(例如使用JS_EvaluateScript)時(shí)提供了該腳本使用的全局對(duì)象。至于腳本,它也可以創(chuàng)建自己全局函數(shù)和變量。所有的這些函數(shù)、類和變量都作為屬性存儲(chǔ)在全局對(duì)象中。

          瀏覽 23
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美少妇一区二区三区 | 亚洲视频久久久 | 亚洲另类色图 | 少妇日批视频 | 亚洲精品久久久国产精品久久久 |