- class QJSPrimitiveValue#
类
QJSPrimitiveValue在JavaScript语义上操作原始类型。更多...摘要#
方法#
def
__init__()def
constData()def
data()定义
equals()定义
metaType()定义
__ne__()定义
__mod__()定义
__mul__()定义
__add__()定义
__iadd__()定义
__sub__()定义
__isub__()定义
__div__()定义
__lt__()定义
__le__()定义
__eq__()定义
__gt__()定义
__ge__()定义
toBoolean()定义
toDouble()定义
toInteger()定义
toString()定义
toVariant()定义
type()
注意
本文档可能包含自动从C++转换为Python的代码片段。我们始终欢迎对此代码片段翻译的贡献。如果您发现翻译问题,可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单来告诉我们。
详细描述#
QJSPrimitiveValue支持在ECMA-262标准中定义的大部分原始类型,特别是未定义、布尔型、数字型和字符串型。此外,您可以将JavaScript的null存储在QJSPrimitiveValue中,作为一个特殊的数字情况,您可以存储整数值。所有这些值都是立即存储的,不与JavaScript堆交互。因此,您可以在不同的JavaScript引擎之间传递QJSPrimitiveValues。与
QJSManagedValue相比,从创建它的不同线程中销毁QJSPrimitiveValue也没有危险。另一方面,QJSPrimitiveValue也不持有对任何JavaScript引擎的引用。QJSPrimitiveValue在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的整数类型代表这种转换的结果。QJSPrimitiveValue.Double
JavaScript的Number值。
QJSPrimitiveValue.String
JavaScript的字符串值。
- __init__()
创建一个类型为 Undefined 的
QJSPrimitiveValue。- __init__(value)
- 参数:
value – int
创建一个值为
value并且类型为 Integer 的QJSPrimitiveValue。- __init__(value)
- 参数:
value – float
创建一个值为
value并且类型为 Double 的QJSPrimitiveValue。- __init__(variant)
- 参数:
variant – object
如果
value中的内容可以存储在 QJSPrimtiveValue 中,则创建一个从value的内容生成的QJSPrimitiveValue。否则,这将生成一个类型为 Undefined 的QJSPrimitiveValue。- __init__(type, value)
- 参数:
类型 –
QMetaTypevalue –
void
创建一个类型为
type的QJSPrimitiveValue,并在type可以存储在 QJSPrimtiveValue 中时使用value初始化。在这种情况下,value不能为 nullptr。如果type不能存储,这会生成一个类型为 Undefined 的QJSPrimitiveValue。请注意,您必须传入您要存储的变量的地址。
通常,您不必使用此构造函数,可以使用接受 QVariant 的构造函数。
- __init__(value)
- 参数:
value – bool
创建一个值为
value并且类型为 Boolean 的QJSPrimitiveValue。- __init__(string)
- 参数:
string – str
创建一个值为
value并且类型为 String 的QJSPrimitiveValue。- constData()#
- 返回类型::
void
- data()#
- 返回类型::
void
- equals(other)#
- 参数:
其他 –
QJSPrimitiveValue- 返回类型::
bool
对当前
QJSPrimitiveValue和other执行 JavaScript 的 ‘==’ 操作,并返回结果。返回存储在
QJSPrimitiveValue中的值的 QMetaType。- __ne__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
bool
对
lhs和rhs执行 JavaScript 的 ‘!==’ 操作,并返回结果。- __mod__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
- __mul__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
对
lhs和rhs执行 JavaScript 的 ‘*’ 操作,并返回结果。- __add__()#
- 返回类型::
- __add__(rhs)
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
对
lhs和rhs执行 JavaScript 的 ‘+’ 操作,并返回结果。- __iadd__(arg__1)#
- 参数:
arg__1 – int
- 返回类型::
- __iadd__()
- 返回类型::
- __sub__()#
- 返回类型::
- __sub__(rhs)
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
对
lhs和rhs执行 JavaScript 的 ‘-’ 操作,并返回结果。- __isub__()#
- 返回类型::
- __isub__(arg__1)
- 参数:
arg__1 – int
- 返回类型::
- __div__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
执行JavaScript中的‘/’操作符,在
lhs和rhs之间,并返回结果。- __lt__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
bool
在
lhs和rhs上执行JavaScript的‘<’操作符,并返回结果。- __le__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
bool
在
lhs和rhs上执行JavaScript的‘<=’操作符,并返回结果。- __eq__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
bool
在
lhs和rhs上执行JavaScript的‘===’操作符,并返回结果。- __gt__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
bool
在
lhs和rhs上执行JavaScript的‘>’操作符,并返回结果。- __ge__(rhs)#
- 参数:
右侧 –
QJSPrimitiveValue- 返回类型::
bool
在
lhs和rhs上执行JavaScript的‘>=’操作符,并返回结果。- strictlyEquals(other)#
- 参数:
其他 –
QJSPrimitiveValue- 返回类型::
bool
对此
PySide6.QtQml.QJSPrimitiveValue和other执行JavaScript的‘===’操作符,并返回结果。- toBoolean()#
- 返回类型::
bool
返回根据JavaScript规则强制转换后的布尔值。
- toDouble()#
- 返回类型::
浮点数
根据JavaScript规则强制转换为JavaScript Number。
- toInteger()#
- 返回类型::
整数
根据JavaScript的规则强制转换为32位整数。
- toString()#
- 返回类型::
str
按照JavaScript规则强制转换值后的JavaScript字符串。
- toVariant()#
- 返回类型::
object
返回
QJSPrimitiveValue的类型。