qml 函数的默认参数给出语法错误

Default arguments for qml function gives syntax errors(qml 函数的默认参数给出语法错误)

本文介绍了qml 函数的默认参数给出语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

此代码在浏览器托管的 JavaScript 环境中运行良好:

This code works fine in browser hosted JavaScript environment :

    function foo(a=true)
    {
        console.log(a)
    }

但是在 qml 中做同样的事情会导致 语法错误.

But doing the same in qml is giving syntax error.

我可能做错了什么?

推荐答案

在QML中,你应该把函数写成

In QML, you should write the function as

function foo(a) {
    if (a === undefined) a = true

    console.log(a)
}

语法

function foo(a=true)

不支持此语法,因为 ECMA-262 第 6 版 而 QML 仅实现 第五版(从 Qt 5.11 开始).

is not supported as this syntax was introduced in ECMA-262 6th edition while QML only implements the fifth edition (as of Qt 5.11).

这篇关于qml 函数的默认参数给出语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:qml 函数的默认参数给出语法错误