<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # QScriptContext Class Reference ## [[QtScript](index.htm) module] 該QScriptContext類表示一個Qt腳本函數調用。[More...](#details) ### Types * `enum Error { UnknownError, ReferenceError, SyntaxError, TypeError, RangeError, URIError }` * `enum ExecutionState { NormalState, ExceptionState }` ### Methods * `QScriptValue activationObject (self)` * `QScriptValue argument (self, int?index)` * `int argumentCount (self)` * `QScriptValue argumentsObject (self)` * `QStringList backtrace (self)` * `QScriptValue callee (self)` * `QScriptEngine engine (self)` * `bool isCalledAsConstructor (self)` * `QScriptContext parentContext (self)` * `setActivationObject (self, QScriptValue?activation)` * `setThisObject (self, QScriptValue?thisObject)` * `ExecutionState state (self)` * `QScriptValue thisObject (self)` * `QScriptValue throwError (self, Error?error, QString?text)` * `QScriptValue throwError (self, QString?text)` * `QScriptValue throwValue (self, QScriptValue?value)` * `QString toString (self)` * * * ## Detailed Description 該QScriptContext類表示一個Qt腳本函數調用。 一個QScriptContext提供了訪問` this'對象和參數傳遞給腳本的功能。您通常希望當你寫一個本機( C + +)函數來訪問這些信息(見[QScriptEngine.newFunction](qscriptengine.html#newFunction)( ) )將被調用的腳本代碼。例如,當腳本代碼 ``` foo(20.5, "hello", new Object()) ``` 被評估,一個QScriptContext將被創建,并在上下文將攜帶的參數作為QScriptValues ??,在這種特殊情況下,參數將其中[QScriptValue](qscriptvalue.html)含有數20.5 ,第二[QScriptValue](qscriptvalue.html)包含字符串`"hello"`以及第三[QScriptValue](qscriptvalue.html)包含一個Qt Script對象。 使用[argumentCount](qscriptcontext.html#argumentCount)()來獲取參數傳遞給函數的數量,[argument](qscriptcontext.html#argument)()來獲取參數在一定的指數。該[argumentsObject](qscriptcontext.html#argumentsObject)( )函數返回一個包含所有參數的Qt的腳本數組對象,你可以使用[QScriptValueIterator](qscriptvalueiterator.html)遍歷其元素,或者傳遞數組作為參數使用另一個腳本函數[QScriptValue.call](qscriptvalue.html#call)( ) 。 使用[thisObject](qscriptcontext.html#thisObject)( )來獲得與函數調用相關的` this'對象,并[setThisObject](qscriptcontext.html#setThisObject)( )來設置` this'對象。如果要實現一個本地的“實例方法” ,通常取[thisObject](qscriptcontext.html#thisObject)( )和訪問它的一個或多個屬性: ``` [QScriptValue](qscriptvalue.html) Person_prototype_fullName(QScriptContext *context, [QScriptEngine](qscriptengine.html) *engine) { [QScriptValue](qscriptvalue.html) self = context->thisObject(); [QString](qstring.html) result; result += self.property("firstName").toString(); result += QLatin1String(" "); result += self.property("lastName").toString(); return result; } ``` 使用[isCalledAsConstructor](qscriptcontext.html#isCalledAsConstructor)()來確定函數被調用的構造函數(如`"new foo()"`(作為構造函數),或者只是`"foo()"`) 。當一個函數被調用的構造函數中,[thisObject](qscriptcontext.html#thisObject)()中包含的功能,預計以初始化新構造的對象。 使用[throwValue](qscriptcontext.html#throwValue)()或[throwError](qscriptcontext.html#throwError)( )拋出一個異常。 使用[callee](qscriptcontext.html#callee)( ),得到[QScriptValue](qscriptvalue.html)表示被調用的函數。例如,這可以被用于遞歸地調用該函數。 使用[parentContext](qscriptcontext.html#parentContext)( )來獲得一個指向前面這種情況下在激活堆棧上下文。 (構建某種形式的回溯時,如)這是用于調試目的大多是有用的。 該[activationObject](qscriptcontext.html#activationObject)( )函數返回用于保存與該函數調用關聯的本地變量的對象。你可以通過調用替換激活對象[setActivationObject](qscriptcontext.html#setActivationObject)( ) 。這些函數的典型用法是,當你想腳本代碼在父上下文的語境來評價,例如:實現一個include()函數: ``` [QScriptValue](qscriptvalue.html) myInclude(QScriptContext *ctx, [QScriptEngine](qscriptengine.html) *eng) { [QString](qstring.html) fileName = ctx->argument(0).toString(); [QString](qstring.html) contents = readTheFile(fileName); ctx->setActivationObject(ctx->parentContext()->activationObject()); ctx->setThisObject(ctx->parentContext()->thisObject()); return eng->evaluate(contents, fileName); } ``` 使用[backtrace](qscriptcontext.html#backtrace)( )來獲得與這方面有關的人類可讀的回溯。這對于實現本機的功能調試時非常有用。該[toString](qscriptcontext.html#toString)( )函數提供了上下文的字符串表示形式。 ([QScriptContextInfo](qscriptcontextinfo.html)提供有關QScriptContext更詳細的調試相關的信息。 ) 使用[engine](qscriptcontext.html#engine)()來獲得一個指向[QScriptEngine](qscriptengine.html)這方面駐留英寸 * * * ## Type Documentation ``` QScriptContext.Error ``` 此枚舉指定類型的錯誤。 | Constant | Value | Description | | --- | --- | --- | | `QScriptContext.ReferenceError` | `1` | 參考錯誤。 | | `QScriptContext.SyntaxError` | `2` | 語法錯誤。 | | `QScriptContext.TypeError` | `3` | A型錯誤。 | | `QScriptContext.RangeError` | `4` | 值域錯誤。 | | `QScriptContext.URIError` | `5` | 一個URI錯誤。 | | `QScriptContext.UnknownError` | `0` | 未知錯誤。 | ``` QScriptContext.ExecutionState ``` 這個枚舉指定上下文的frameution狀態。 | Constant | Value | Description | | --- | --- | --- | | `QScriptContext.NormalState` | `0` | 上下文是在正常狀態下。 | | `QScriptContext.ExceptionState` | `1` | 上下文是在一個特殊的狀態。 | * * * ## Method Documentation ``` QScriptValue QScriptContext.activationObject (self) ``` [](qscriptvalue.html) [返回此激活對象](qscriptvalue.html)[QScriptContext](qscriptcontext.html)。激活對象提供與此內容相關聯的局部變量。 **Note:**激活對象可能無法使用,如果沒有活動[QScriptEngineAgent](qscriptengineagent.html)的,因為它可能會被優化。 **See also** [setActivationObject](qscriptcontext.html#setActivationObject)( )[argument](qscriptcontext.html#argument)()和[argumentsObject](qscriptcontext.html#argumentsObject)( ) 。 ``` QScriptValue QScriptContext.argument (self, int?index) ``` [ 返回的函數參數在給定的_index_。 ](qscriptvalue.html) [If _index_\u003e =](qscriptvalue.html)[argumentCount](qscriptcontext.html#argumentCount)()的一個[QScriptValue](qscriptvalue.html)基本類型的未定義返回。 **See also** [argumentCount](qscriptcontext.html#argumentCount)( ) 。 ``` int QScriptContext.argumentCount (self) ``` 返回的參數傳遞給函數在此調用的次數。 請注意,參數計數可以從參數的正式編號(不同的`length`物業[callee](qscriptcontext.html#callee)())。 **See also** [argument](qscriptcontext.html#argument)( ) 。 ``` QScriptValue QScriptContext.argumentsObject (self) ``` [](qscriptvalue.html) [返回此參數對象](qscriptvalue.html)[QScriptContext](qscriptcontext.html)。 該參數對象的屬性`callee`(等于[callee](qscriptcontext.html#callee)())和`length`(等于[argumentCount](qscriptcontext.html#argumentCount)()),和屬性`0`,`1`,...,[argumentCount](qscriptcontext.html#argumentCount)( ) - 1 ,提供訪問參數值。起初,物業`P`( 0 \u003c=`P`\u003c[argumentCount](qscriptcontext.html#argumentCount)( ) )具有相同的值作為參數(`P`) 。在案件時`P`小于的函數形式參數的數量,`P`與激活對象的相應屬性分享它的值([activationObject](qscriptcontext.html#activationObject)())。這意味著,更改此屬性將更改激活對象的相應屬性,反之亦然。 **See also** [argument](qscriptcontext.html#argument)()和[activationObject](qscriptcontext.html#activationObject)( ) 。 ``` QStringList QScriptContext.backtrace (self) ``` 返回此人類可讀的回溯[QScriptContext](qscriptcontext.html)。 每一行的形式為`&lt;function-name&gt;(&lt;arguments&gt;)@&lt;file-name&gt;:&lt;line-number&gt;`。 要訪問各個部分的調試相關的信息(例如,構造自己的回溯表示) ,使用[QScriptContextInfo](qscriptcontextinfo.html)。 **See also** [QScriptEngine.uncaughtExceptionBacktrace](qscriptengine.html#uncaughtExceptionBacktrace)( )[QScriptContextInfo](qscriptcontextinfo.html)和[toString](qscriptcontext.html#toString)( ) 。 ``` QScriptValue QScriptContext.callee (self) ``` [](qscriptvalue.html) [返回被調用。被調用的是函數對象,這](qscriptvalue.html)[QScriptContext](qscriptcontext.html)代表的調用。 ``` QScriptEngine QScriptContext.engine (self) ``` [](qscriptengine.html) [返回](qscriptengine.html)[QScriptEngine](qscriptengine.html)這[QScriptContext](qscriptcontext.html)屬于。 ``` bool QScriptContext.isCalledAsConstructor (self) ``` 返回True如果函數被調用的構造函數(如`"new foo()"`),否則返回False 。 當一個函數被調用的構造函數中,[thisObject](qscriptcontext.html#thisObject)()包含要初始化的新構造的對象。 **Note:**此功能只保證工作對應于原生函數的上下文。 ``` QScriptContext QScriptContext.parentContext (self) ``` [](qscriptcontext.html) [返回此父上下文](qscriptcontext.html)[QScriptContext](qscriptcontext.html)。 ``` QScriptContext.setActivationObject (self, QScriptValue?activation) ``` 設置這個激活對象[QScriptContext](qscriptcontext.html)為給定的_activation_。 If _activation_不是一個對象,這個函數不執行任何操作。 **Note:**為對應的JavaScript函數的上下文,這是只保證工作,如果有一個[QScriptEngineAgent](qscriptengineagent.html)活性在發動機上,而功能進行評價。 **See also** [activationObject](qscriptcontext.html#activationObject)( ) 。 ``` QScriptContext.setThisObject (self, QScriptValue?thisObject) ``` 設置了` this'對象與此相關[QScriptContext](qscriptcontext.html)要_thisObject_。 If _thisObject_不是一個對象,這個函數不執行任何操作。 **See also** [thisObject](qscriptcontext.html#thisObject)( ) 。 ``` ExecutionState QScriptContext.state (self) ``` [](qscriptcontext.html#ExecutionState-enum) [返回此的frameution狀態](qscriptcontext.html#ExecutionState-enum)[QScriptContext](qscriptcontext.html)。 ``` QScriptValue QScriptContext.thisObject (self) ``` [](qscriptvalue.html) [返回與此相關聯的` this'對象](qscriptvalue.html)[QScriptContext](qscriptcontext.html)。 **See also** [setThisObject](qscriptcontext.html#setThisObject)( ) 。 ``` QScriptValue QScriptContext.throwError (self, Error?error, QString?text) ``` [ 拋出一個_error_用給定的_text_。返回創建的錯誤對象。 該_text_將被存儲在`message`錯誤對象的屬性。 ](qscriptvalue.html) [Error對象將被初始化為包含有關發生錯誤的位置信息;具體而言,它將擁有屬性`lineNumber`,`fileName`和`stack`。這些屬性中描述](qscriptvalue.html)[QtScript Extensions to ECMAScript](index.htm#qtscript-extensions-to-ecmascript)。 **See also** [throwValue](qscriptcontext.html#throwValue)()和[state](qscriptcontext.html#state)( ) 。 ``` QScriptValue QScriptContext.throwError (self, QString?text) ``` [ 這是一個重載函數。 與給定拋出一個錯誤_text_。返回創建的錯誤對象。 ](qscriptvalue.html) [**See also**](qscriptvalue.html) [throwValue](qscriptcontext.html#throwValue)()和[state](qscriptcontext.html#state)( ) 。 ``` QScriptValue QScriptContext.throwValue (self, QScriptValue?value) ``` [ 用給定的拋出一個異常_value_。返回拋出(相同的參數)的值。 ](qscriptvalue.html) [**See also**](qscriptvalue.html) [throwError](qscriptcontext.html#throwError)()和[state](qscriptcontext.html#state)( ) 。 ``` QString QScriptContext.toString (self) ``` 返回此上下文的字符串表示形式。這對于調試非常有用。 此功能被引入Qt的4.4 。 **See also** [backtrace](qscriptcontext.html#backtrace)( ) 。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看