6.QML中的JavaScript(4)- 对象2
1. Math
Math对象用来执行数学对象,它是一个全局对象,下面介绍一下Math的属性和方法。
Math有下列属性:
- E: 算数常量e,即自然对数的底数(约等于2.718)
- LN2: 2的自然对数(约等于0.693)
- LN10: 10的自然对数(约等于2.302)
- LOG2E: 以2为底的e的对数(约等于1.442)
- LOG10E: 以10为底e的对数(约等于0.434)
- PI: 圆周率(约等于3.14159)
- SQRT1_2: 2的平方根的倒数(约等于0.707)
- SQRT2: 2的平方根(约等于1.414)
Math有下列方法:
- abs(x), 返回x的绝对值
- acos(x), 返回x的反余弦值
- asin(x), 返回x的反正弦值
- atan(x), 返回x的反正切值
- atan2(y, x), 返回从x轴到点(x, y)的角度,返回值在-PI和PI之间的弧度
- ceil(x), 对x进行上舍入
- cos(x), 返回x的余弦值
- exp(x), 返回e的x次幂
- floor(x), 对x的下舍人
- log(x), 以e为底的自然对数
- max(x, y), 返回x和y中的最大值
- min(x, y), 返回x和y中的最小值
- pow(x, y), 返回x的y次幂
- random(), 返回0~1之间的随机数
- round(x), 把x四舍五入为最接近的整数
- sin(x), 返回数的正弦值
- sqrt(x), 返回数的平方根
- tan(x), 返回数的正切值
- valueOf(), 返回Math对象的原始值
2. Date
Date对象用于处理日期和时间。
你可以这样创建一个Date对象:
var today = new Date()
当使用无构造参数的Date对象,该对象会自动把当前的日期和时间保存为初始值。也可以使用下面的方法创建
var day1 = new Date("2018-07-09T22:25:00")
var day2 = new Date(2018, 7, 9)
var day3 = new Date(2018, 7, 9, 22, 25, 0)
下面方法可以从Date对象获取信息的方法:
- getDate(), 返回一个月中的某一天(1~31)
- getDay(), 返回一周中的某一天(0~6)
- getMonth(), 返回月份(0~11)
- getFullYear(), 返回四位数年份
- getHours(), 返回小时(0~23)
- getMinutes(), 返回分钟(0~59)
- getSeconds(), 返回秒数(0~59)
- getMilliseconds(), 返回毫秒数(0~999)
- getTime(), 返回从1970年1月1日到现在的毫秒数
- toString(), 把日期转换为本地字符串
下面方法可以设置Date对象的相关信息:
- setDate(), 设置月的1天(0~31)
- setMonth(), 设置月份(0~11)
- setFullYear(), 设置4位数字年份
- setHours(), 设置小时(0~23)
- setMinutes(), 设置分钟(0~59)
- setSeconds(), 设置秒钟(0~59)
- setMilliseconds(), 设置毫秒(0~999)
- setTime(), 以1970年1月1号至今的毫秒数设置Date
Date还有一些静态方法,不需要Date对象的创建
- Date.now(), 返回从1970年1月1日至今的毫秒数
- Date.parse(), 解析一个时间字符春,返回那个时间至1970年1月1日的毫秒数
- Date.UTC(),解析UTC时间
3. Qt的常用方法
3.1 用于创建宿主类型
- Qt.rect(), 创建rect实例
- Qt.point(), 创建point实例
- Qt.size(), 创建size实例
- Qt.rgba()、Qt.hsla()、Qt.darker()、Qt.lighter()、Qt.tint()创建color类型的颜色值
- Qt.font(), 创建字体
- Qt.vector2d(), 创建vector2d
- Qt.vector3d(), 创建vector3d
- Qt.vector4d(), 创建vector4d
- Qt.quaternion(), 创建quaternion
- Qt.matrix4x4(), 创建matrix4x4
3.2 格式化日期和时间
- string Qt.formatDateTime(datetime date, variant format)
- string Qt.formatDate(datetime date, variant format)
- string Qt.formatTime(datetime date, variant format)
下面是一个简单的示例:
var date = new Date
var dateString = Qt.formatDateTime(date, 'yyyy-MM-dd hh:mm:ss')
console.log(dateString)
输出结果:
qml: 2018-07-09 22:50:15
3.3 动态对象创建
- object Qt.crateComponent(url)
- object Qt.createQmlObject(string qml, object parent, string filepath)
3.4 其他方法
- Qt.qute(), 退出应用
- string Qt.md5(string), 计算字符串的MD5值,返回的也是字符串
- string Qt.btoa(string), 对传入的数据做Base64编码,返回编码后的字符串
- string Qt.atob(string), 解码传入的Base64编码过的字符串,返回解码后的字符串
- object Qt.binding(function), 为一个JS表达式创建一个对象,用于绑定到QML对象的某个属性值
- object Qt.locale(), 返回指定名字的区域对象,不给参数就返回默认的区域对象。
- string Qt.resolvedUrl(), 将传入的相对路径转换为全路径URL