1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
import QML
QtObject {
id: self
property var aNull: null
property var anInt: 5
property var aZero: 0
property var anArray: []
property var anObject: ({a: 12, b: 14, c: "somestring"})
property int cmpEqInt: {
if ({} == 12)
return 8;
if ([] == 12)
return 2;
if (null == 12)
return 3;
if (undefined == 12)
return 4;
if (12 == 12)
return 17;
return 5;
}
property bool nullIsNull: aNull == null
property bool intIsNull: anInt == null
property bool zeroIsNull: aZero == null
property bool arrayIsNull: anArray == null
property bool objectIsNull: anObject == null
property bool nullIsNotNull: aNull != null
property bool intIsNotNull: anInt != null
property bool zeroIsNotNull: aZero != null
property bool arrayIsNotNull: anArray != null
property bool objectIsNotNull: anObject != null
property bool boolEqualsBool: nullIsNull == zeroIsNull
property bool boolNotEqualsBool: nullIsNull != zeroIsNull
property var aInObject: "a" in anObject
property var lengthInArray: "length" in anArray
property var fooInNumber: "foo" in 12
property var numberInObject: 12 in anObject
property var numberInArray: 2 in [1, 12, 3]
property real varPlusVar: aInObject + lengthInArray
property real varMinusVar: lengthInArray - fooInNumber
property real varTimesVar: fooInNumber * numberInObject
property real varDivVar: numberInObject / numberInArray
property var stringPlusString: "12" + "20"
property var stringMinusString: "12" - "20"
property var stringTimesString: "12" * "20"
property var stringDivString: "12" / "20"
property string uglyString: "with\nnewline" + 'with"quot' + "with\\slashes";
property QtObject nullObject1: aInObject ? null : self
property QtObject nullObject2: {
if (lengthInArray)
return self
if (aInObject)
return null;
return undefined;
}
property var doneStuff
function doStuff(stuff) {
var a = {g: 0, h: 5};
var b = {i: 6, j: 7};
var c = {k: 9, l: 9};
a.g = 4;
doneStuff = a.g + b.i + c.l
return stuff[3] ? stuff[3] : stuff.z
}
property var passObjectLiteral: doStuff({"x": 13, "y": 17, "z": 11})
property var passArrayLiteral: doStuff([1, 2, 3, 4])
property bool neNull: {
var a = anArray[12]
if (a)
return true;
else
return false;
}
property bool eqNull: {
var a = anArray[12]
if (!a)
return true;
else
return false;
}
property string undefinedType: typeof undefined
property string booleanType: typeof true
property string numberType: typeof 12
property string stringType: typeof "bah"
property string objectType: typeof null
property string symbolType: typeof Symbol("baz")
property var modulos: [
-20 % -1,
0 % 1,
20 % 4.4,
-4.4 % true,
false % "11",
undefined % null,
{} % []
]
property var unaryOps: {
var a = stringPlusString;
var b = stringPlusString;
var c = +stringPlusString;
var d = -stringPlusString;
var e = a++;
var f = b--;
return [ a, b, c, d, e, f ];
}
function retUndefined() {
var a = 5 + 12;
if (false)
return a;
}
}
|