PySide6.QtQml.QJSPrimitiveValue¶
- class QJSPrimitiveValue¶
QJSPrimitiveValue
类在 JavaScript 语义中操作原始类型。更多…概要¶
方法¶
def
__init__()
def
constData()
def
data()
def
equals()
def
metaType()
def
__ne__()
def
__mod__()
def
__mul__()
def
__add__()
def
__iadd__()
def
__sub__()
def
__isub__()
def
__div__()
def
__lt__()
def
__le__()
def
__eq__()
def
__gt__()
def
__ge__()
def
strictlyEquals()
def
toBoolean()
def
toDouble()
def
toInteger()
def
toString()
def
toVariant()
def
type()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QJSPrimitiveValue
支持 ECMA-262 标准中定义的大多数原始类型,特别是 Undefined、Boolean、Number 和 String。此外,您可以在QJSPrimitiveValue
中存储 JavaScript 的 null,并且作为 Number 的特殊情况,您还可以存储整数值。所有这些值都会立即存储,而不与JavaScript堆进行交互。因此,您可以在不同的JavaScript引擎之间传递QJSPrimitiveValues。与
QJSManagedValue
相比,从不同线程销毁QJSPrimitiveValue
也没有危险。另一方面,QJSPrimitiveValue
并不持有对任何JavaScript引擎的引用。QJSPrimitiveValue
在支持的JavaScript语义类型上实现了JavaScript的算术和比较运算符。如果这些运算符写在JavaScript表达式中,类型会被强制转换,就像JavaScript引擎会做的那样。JavaScript Symbol 类型不受支持,因为它在算术和比较运算符方面的实用性非常有限,这是
QJSPrimitiveValue
的主要目的。特别是,每当您尝试将其强制转换为数字或字符串时,它都会引发异常,而我们无法在没有 JavaScript 引擎的情况下抛出异常。- class Type¶
此枚举指定了
QJSPrimitiveValue
可能包含的类型。常量
描述
QJSPrimitiveValue.Undefined
JavaScript 的未定义值。
QJSPrimitiveValue.Null
JavaScript 的 null 值。实际上,这并不是一个独立的 JavaScript 类型,而是 Object 类型的一个特殊值。由于它非常常见并且可以在没有 JavaScript 引擎的情况下存储,因此仍然支持它。
QJSPrimitiveValue.Boolean
一个JavaScript布尔值。
QJSPrimitiveValue.Integer
一个整数。这是 JavaScript Number 类型的一个特殊情况。JavaScript 没有实际的整数类型,但 ECMA-262 标准包含了一些规则,用于转换 Number 以便为某些仅对整数有意义的操作符(特别是位移操作符)做准备。
QJSPrimitiveValue
的 Integer 类型表示这种转换的结果。QJSPrimitiveValue.Double
一个JavaScript数值。
QJSPrimitiveValue.String
一个JavaScript字符串值。
- __init__()¶
创建一个类型为Undefined的
QJSPrimitiveValue
。- __init__(type)
- Parameters:
类型 –
QMetaType
- __init__(string)
- Parameters:
字符串 – str
创建一个值为
value
且类型为 String 的QJSPrimitiveValue
。- __init__(value)
- Parameters:
value – 布尔值
创建一个值为
value
且类型为 Boolean 的QJSPrimitiveValue
。- __init__(variant)
- Parameters:
variant – 对象
如果
value
的内容可以存储在QJSPrimtiveValue中,则从value
的内容创建一个QJSPrimitiveValue
。否则,这将导致一个类型为Undefined的QJSPrimitiveValue
。- __init__(value)
- Parameters:
value – 浮点数
创建一个值为
value
且类型为 Double 的QJSPrimitiveValue
。- __init__(value)
- Parameters:
值 – int
创建一个值为
value
且类型为 Integer 的QJSPrimitiveValue
。- __init__(type, value)
- Parameters:
type –
QMetaType
value –
void
创建一个类型为
type
的QJSPrimitiveValue
,如果type
可以存储在QJSPrimitiveValue中,则用value
初始化。在这种情况下,value
不能为nullptr。如果type
无法存储,则结果为类型为Undefined的QJSPrimitiveValue
。请注意,您必须传递要存储的变量的地址。
通常,你不需要使用这个构造函数,而是使用接受 QVariant 的那个。
- constData()¶
- Return type:
void
- data()¶
- Return type:
void
- equals(other)¶
- Parameters:
其他 –
QJSPrimitiveValue
- Return type:
布尔
在此
QJSPrimitiveValue
和other
上执行JavaScript的‘==’操作,并返回结果。返回存储在
QJSPrimitiveValue
中的值的QMetaType。- __ne__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
布尔
在
lhs
和rhs
上执行 JavaScript 的 ‘!==’ 操作,并返回结果。- __mod__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
- __mul__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
对
lhs
和rhs
执行 JavaScript 的 '*' 操作,并返回结果。- __add__()¶
- Return type:
- __add__(rhs)
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
对
lhs
和rhs
执行 JavaScript 的 '+' 操作,并返回结果。- __iadd__()¶
- Return type:
- __iadd__(arg__1)
- Parameters:
arg__1 – 整数
- Return type:
- __sub__()¶
- Return type:
- __sub__(rhs)
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
对
lhs
和rhs
执行 JavaScript 的 '-' 操作,并返回结果。- __isub__()¶
- Return type:
- __isub__(arg__1)
- Parameters:
arg__1 – 整数
- Return type:
- __div__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
在
lhs
和rhs
之间执行JavaScript的‘/’操作,并返回结果。- __lt__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
布尔
对
lhs
和rhs
执行 JavaScript 的 ‘<’ 操作,并返回结果。- __le__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
布尔
在
lhs
和rhs
上执行 JavaScript 的 ‘<=’ 操作,并返回结果。- __eq__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
布尔
对
lhs
和rhs
执行 JavaScript 的 ‘===’ 操作,并返回结果。- __gt__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
布尔
在
lhs
和rhs
上执行 JavaScript 的 ‘>’ 操作,并返回结果。- __ge__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue
- Return type:
布尔
在
lhs
和rhs
上执行 JavaScript 的 ‘>=’ 操作,并返回结果。- strictlyEquals(other)¶
- Parameters:
其他 –
QJSPrimitiveValue
- Return type:
布尔
在此
QJSPrimitiveValue
和other
上执行JavaScript的‘===’操作,并返回结果。- toBoolean()¶
- Return type:
布尔
返回根据JavaScript规则强制转换为布尔值的值。
- toDouble()¶
- Return type:
浮点数
返回根据JavaScript规则强制转换为JavaScript Number的值。
- toInteger()¶
- Return type:
整数
返回根据JavaScript在准备进行位移操作时应用的规则强制转换为32位整数的值。
- toString()¶
- Return type:
字符串
返回根据JavaScript规则强制转换为JavaScript字符串的值。
- toVariant()¶
- Return type:
对象
返回
QJSPrimitiveValue
的类型。