- 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)
- 参数:
类型 –
QMetaType
value –
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
的类型。