Object类为所有JavaScript类的基类
Object具有如下属性:
Object就有的方法如下:
Object可以直接为它的属性赋值,若属性不存在则创建该属性,并赋值;也可以直接赋值方法;也可以使用数组下标的方法获取属性的值。下面是一个简单的示例:
var object = new Object
object.name = 'Douzhq'
object.year = '26'
object.getSex = function getSex() {
return 'man'
}
console.log(object.name, object["year"])
console.log(object.getSex())
运行结果:
qml: Douzhq 26
qml: man
想要实例化String类型,可以使用new关键字也可以为变量直接赋值
var str = new String('Hello JavaScript')
var str2 = 'Hello JavaScript'
String的主要属性和方法如下:
属性/方法名 | 描述 |
---|---|
length | 返回字符串的长度 |
charAt() | 返回指定索引位置的字符,也可以使用[index]方式 |
indexOf() | 从字符串的开头索引字符串,找不到返回-1 |
lastIndexOf() | 从字符串的结尾索引字符串,找不到返回-1 |
localeCompare() | 比较字符串,也可以使用>、<、==比较 |
concat() | 字符串拼接,也可以使用+拼接字符串 |
slice(startIndex, endIndex) | 字符串提取,从startIndex到endIndex |
substring() | 字符串提取,与slice不同点,slice()遇到负数, 会从尾部倒数,如slice(-3)提取倒数的3个字符串, 而substring()遇到负数会当成0处理。还有一点就是substring()会把较小的参数作为其实位置, 如substring(1, 3)和substring(3, 1)是相同的 |
substr(index, count) | 字符串提取,第一个参数为起始位置,第二个为个数 |
toLowerCase() | 转换为小写字母 |
toUpperCase() | 转换为大写字母 |
replace() | 字符串替换 |
arg() | QML扩展的方法,效果同QString.arg() |
下面是关于字符串处理的示例 :
var myString = 'Hello %1!'
myString = myString.arg('JavaScript')
console.log(myString)
console.log(myString.length, myString.charAt(1))
console.log(myString.indexOf("Java"))
console.log(myString.concat(" I Love QML!"))
console.log(myString.slice(1, -1))
console.log(myString.toLowerCase())
console.log(myString.toUpperCase())
console.log(myString.replace('JavaScript', 'Python'))
运行结果如下:
qml: Hello JavaScript!
qml: 17 e
qml: 6
qml: Hello JavaScript! I Love QML!
qml: ello JavaScript
qml: hello javascript!
qml: HELLO JAVASCRIPT!
qml: Hello Python!
Array可以定义动态数组,大小可以动态变化。
数组的创建
var arr = new Array() // 创建一个空数组
var arr2 = new Array(5) // 创建一个有5个元素的数组
var arr3 = new Array(1, 2, 3) // 创建一个元素为1、2、3的数组
var arr4 = [1, 2, 3] // 创建一个元素为1、2、3的数组
可以使用下标的方式获取或者设置数组的值,也可以使用下标得方式设置一个超出索引界限的值。
var array = [1, 'Hello', true]
var item1 = array[1] // 值为'Hello'
array[5] = 12.5
console.log(array, item1)
程序运行结果:
qml: [1,Hello,true,,,12.5] Hello
Array的主要属性和方法如下:
属性/方法名 | 描述 |
---|---|
length | 获取数组的长度 |
push() | 向数组尾部插入一个或多个元素 |
pop() | 删除并返回数组尾部的元素 |
shift() | 删除并返回数组第一个元素 |
unshift() | 向数组的开始添加一个元素并返回数组的长度 |
sort() | 对数组中的元素排序并返回数组的引用 |
sortby() | 指定一个大小比较的函数进行排序 |
join() | 将数组中的元素转为字符串并添加间隔 |
toString() | 将数组中的元素转为字符串 |
concat() | 可以连接两个或多个数组,它不改变现有数组的值,返回一个新数组 |
slice() | 分割数组 |
下面是关于数组的一个简单示例:
var array = [22, 44, 12.5, 32, 55, 'Hello', 'JavaScript', 'Python', 'QML']
console.log(array.length)
array.push([88, 16])
console.log(array)
array.pop()
console.log(array)
array.shift()
console.log(array)
array.unshift([10])
console.log(array)
array.sort()
console.log(array)
console.log(array.join(';'))
var tempArray = array.slice(1, -1)
console.log(tempArray)
运行结果:
qml: 9
qml: [22,44,12.5,32,55,Hello,JavaScript,Python,QML,88,16]
qml: [22,44,12.5,32,55,Hello,JavaScript,Python,QML]
qml: [44,12.5,32,55,Hello,JavaScript,Python,QML]
qml: [10,44,12.5,32,55,Hello,JavaScript,Python,QML]
qml: [10,12.5,32,44,55,Hello,JavaScript,Python,QML]
qml: 10;12.5;32;44;55;Hello;JavaScript;Python;QML
qml: [12.5,32,44,55,Hello,JavaScript,Python]