必威-必威-欢迎您

必威,必威官网企业自成立以来,以策略先行,经营致胜,管理为本的商,业推广理念,一步一个脚印发展成为同类企业中经营范围最广,在行业内颇具影响力的企业。

QML有三个核心必威, 为了便于操作基本类型值

2019-09-21 22:30 来源:未知
/* * text.qml */import QtQuick 2.2Rectangle {    Component.onCompleted: {        // 这里放测试代码    }}

javascript基本包装档期的顺序介绍

 为了有助于操作基本项目值,ECMAScript 提供了 3 个特别的援引类型:Boolean、Number和 String。那些品种与其他援引类型一般,但还要也享有与个其他大旨类型相应的奇特表现。实际上,每当读取三个基本类型值的时候,后台就能够创建一个相应的骨干包装等级次序的对象,进而能够调用一些艺术来操作那几个多少。

一.大旨包装档案的次序概述

1

2

3

var box = 'Mr. Lee';//定义一个字符串

var box2 = box.substring(2);//截掉字符串前两位

alert(box2);//输出新字符串

变量 box 是叁个字符串类型,而 box.substring(2)又表达它是三个目的(PS:唯有对象才会调用方法),最后把管理结果赋值给 box2。'Mr. Lee'是一个字符串类型的值,按道理它不应有是指标,不该会有和煦的办法,举例:

alert('Mr. Lee'.substring(2));//直接通过值来调用方法

1.字面量写法:

1

2

3

4

5

6

7

8

9

10

var box = 'Mr. Lee';//字面量

box.name = 'Lee';//无效属性

box.age = function () {//无效方法

return 100;

};

alert(box);//Mr. Lee

alert(box.substring(2));//. Lee

alert(typeof box);//string

alert(box.name);//undefined

alert(box.age());//错误

2.new 运算符写法:

1

2

3

4

5

6

7

8

9

10

var box = new String('Mr. Lee');//new 运算符

box.name = 'Lee';//有效属性

box.age = function () {//有效方法

return 100;

};

alert(box);//Mr. Lee

alert(box.substring(2));//. Lee

alert(typeof box);//object

alert(box.name);//Lee

alert(box.age());//100

如上字面量注明和 new 运算符评释很好的来得了她们之间的界别。但有一定还是得以一定的,那便是不管字面量形式照旧new 运算符方式,都足以行使它的放手药方法。並且Boolean 和 Number 性子与 String 同样,二种等级次序能够形成主导包装等级次序。

PS:在运用 new 运算符创设以上二种档案的次序的目的时,能够给和谐增加属性和章程,但我们建议不用这么使用,因为那样会导致根本分不清到底是基本类型值依旧援引类型值。

二.Boolean 类型

Boolean 类型未有特定的属性或许措施。

三.Number 类型

Number 类型有一部分静态属性(间接通过 Number 调用的属性,而无须 new 运算符)和办法。

Number 静态属性

必威 1

Number 对象的不二秘籍

必威 2

?

1

2

3

4

5

6

var box = 1000.789;

alert(box.toString());//转换为字符串,传参可以转换进制

alert(box.toLocaleString());//本地形式,1,000.789

alert(box.toFixed(2));//小数点保留,1000.78

alert(box.toExponential());//指数形式,传参会保留小数点

alert(box.toPrecision(3));//指数或点形式,传参保留小数点

四.String 类型

String 类型满含了四个天性和大气的可用内置方法。

String 对象属性

必威 3

String 也包蕴对象的通用方法,比方 valueOf()、toLocaleString()和 toString()方法,但这几个点子都回来字符串的基本值。

字符方法

必威 4

1

2

3

4

var box = 'Mr.Lee';

alert(box.charAt(1));//r

alert(box.charCodeAt(1));//114

alert(box[1]);//r,通过数组方式截取

PS:box[1]在 IE 浏览器会展现 undefined,所以使用时要稳重。

字符串操作方法

必威 5

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

var box = 'Mr.Lee';

alert(box.concat(' is ', ' Teacher ', '!'));//Mr.Lee is Teacher !

alert(box.slice(3));//Lee

alert(box.slice(3,5));//Le

alert(box.substring(3));//Lee

alert(box.substring(3,5));//Le

alert(box.substr(3));//Lee

alert(box.substr(3,5));//Lee

 

 

var box = 'Mr.Lee';

alert(box.slice(-3));//Lee,6+(-3)=3 位开始

alert(box.substring(-3));//Mr.Lee 负数返回全部

alert(box.substr(-3));//Lee,6+(-3)=3 位开始

 

 

var box = 'Mr.Lee';

alert(box.slice(3, -1));//Le 6+(-1)=5, (3,5)

alert(box.substring(3, -1));//Mr. 第二参为负,直接转 0,并且方法会把较小的数字提前,(0,3)

alert(box.substr(3, -1));//'' 第二参数为负,直接转 0 ,(3,0)

PS:IE 的 JavaScript 达成在管理向 substr()方法传递负值的状态下存在难题,它会回到原始字符串,使用时要铭记在心。

字符串地方方法

必威 6

1

2

3

4

5

var box = 'Mr.Lee is Lee';

alert(box.indexOf('L'));//3

alert(box.indexOf('L', 5));//10

alert(box.lastIndexOf('L'));//10

alert(box.lastIndexOf('L', 5));//3,从指定的位置向前搜索

PS:若无找到想要的字符串,则赶回-1。

演示:寻觅整个的 L。

1

2

3

4

5

6

7

8

var box = 'Mr.Lee is Lee';//包含两个 L 的字符串

var boxarr = [];//存放 L 位置的数组

var pos = box.indexOf('L');//先获取第一个 L 的位置

while (pos > -1) {//如果位置大于-1,说明还存在 L

boxarr.push(pos);//添加到数组

pos = box.indexOf('L', pos + 1);//从新赋值 pos 目前的位置

}

alert(boxarr);//输出

大小写转变方法

必威 7

1

2

3

4

5

var box = 'Mr.Lee is Lee';

alert(box.toLowerCase());//全部小写

alert(box.toUpperCase());//全部大写

alert(box.toLocaleLowerCase());

alert(box.toLocaleUpperCase());

PS:唯有二种语言(如土耳其共和国语)具有地点有意的尺寸写本地性,一般的话,是或不是本地化效果都以同等的。

字符串的形式相称方法

必威 8

正则表达式在字符串中的应用,在前面的章节已经详尽探求过,这里就不再赘言了。以上中 match()、replace()、serach()、split()在平时字符串中也得以运用。

1

2

3

4

5

var box = 'Mr.Lee is Lee';

alert(box.match('L'));//找到 L,返回 L 否则返回 null

alert(box.search('L'));//找到 L 的位置,和 indexOf 类型

alert(box.replace('L', 'Q'));//把 L 替换成 Q

alert(box.split(' '));//以空格分割成字符串

另外办法

必威 9

alert(String.fromCharCode(76));//L,输出 Ascii 码对应值

localeCompare(str1,str2)方法详解:相比较三个字符串并赶回以下值中的二个;

1.若是字符串在字母表中应当排在字符串参数从前,则赶回三个负数。(多数-1)
2.例如字符串等于字符串参数,则赶回 0。
3.只要字符串在自附表中应该排在字符串参数之后,则赶回叁个正数。(比很多 1)

1

2

3

4

[task]var box = 'Lee';

alert(box.localeCompare('apple'));//1

alert(box.localeCompare('Lee'));//0

alert(box.localeCompare('zoo'));//-1

HTML 方法

必威 10

如上是通过 JS 生成八个 html 标签,根据经验,没什么太大用处,做个掌握。

1

2

var box = 'Lee';

alert(box.link('http://www.jb51.net'));//超链接

学科内容来自 李绍恢先生JavaScript教程

下边是别的网上好朋友整理的作品:

一 基本包装档期的顺序概述

实则,每当读取三个基本类型值的时候,后台就能创立一个对应的中坚包装档期的顺序的指标,进而能够调用一些主意来操作那个数据;

1

2

3

4

5

var box = 'Mr.Lee'; // 定义一个String字符串;

var box2 = box.substring(2);  // 截掉字符串前两位;

console.log(box2); // 输出新字符串;=>.Lee;

// 变量box是一个字符串String类型,而box.substring(2)又说明它是一个对象(只有对象才会调用方法);

console.log('Mr.Lee'.substring(3)); // 直接通过字符串值来调用方法=>Lee;

援用类型和着力包装档次的基本点分化就是指标的生存期;
活动创制的中坚包装档案的次序的靶子,则只设有于一行代码的施行弹指间,然后马上被灭绝;
那象征大家不能够在运转时为主干类型值增多属性和格局;

var s1 = 'some text'; // => var s1 = new String('some text');
var s2 = s1.substring(5); // => var s2 = s1.substring(5);
// s1 = null; 销毁这几个实例;后台自动试行;
1.字面量写法

1

2

3

4

5

6

7

8

9

var box = 'Mr.Lee'; // 字面量;

box.name = 'Lee'; // 无效属性;

box.age = function(){ // 无效方法;

return 100;

};

console.log(box.substring(3)); // =>Lee;

console.log(typeof box); // =>string;

console.log(box.name); // =>undefined;

console.lgo(box.age()); // =>错误;

2.new运算符写法

 

1

2

3

4

5

6

7

8

9

var box = new String('Mr.Lee');

box.name = 'Lee';

box.age = function(){

return 100;

};

console.log(box.substring(3)); // =>Lee;

console.log(typeof box);  // =>object;

console.log(box.name); // =>Lee;

console.lgo(box.age()); // =>100;

// 以上字面量申明和new运算符表明很好的展现了她们之间的差异;
// 但是,不管是字面量依旧new运算符,都得以应用它的松手药方法(substring);

二 Boolean类型

// Boolean类型未有特定的习性或方法;

三 Number类型

// Number类型有一点点静态属性(通过Number直接调用,而无须new运算符)和章程;

1.Number指标的静态属性

MAX_VALUE 代表最大数;
MIN_VALUE 代表小小的值;
NaN 非数值;
NEGATIVE-INFINITY 负无穷大,溢出重回该值;
POSITIVE_INFINITY 无穷大,溢出再次来到该值;
prototype 原型,用于充实新属性和艺术;

2.Number对象的法门

toString() 将数值转化为字符串,何况能够转变进制;
toLocaleString() 分部方数字格式调换字符串;
toFixed() 将数字保留小数点后钦命位数并转载为字符串;
toExponential() 将数字以指数情势表示;
toPrecision() 指数格局或点花样表示数字;

四 String类型

String类型富含了多个个性和大度的可用内置方法;

1.String对象属性

length 再次来到字符串的字符长度;
constructor 重回创设String对象的函数;
prototype 通过增添属性和措施扩大字符串定义;2.String对象字符方法
charAt(n) 再次回到钦赐索引地方的字符;
charCodeAt(n) 以Unicode编码格局再次来到内定索引地方的字符的编码;
var box = 'Mr.Lee';
console.log(box.charAt(1)); // =>r;
console.log(box.charCodeAt(1)); // =>114;
console.log(box[1]) // =>r;通过数组格局截取;3.String目的字符串操作方法

concat(str1...str2) 将字符串参数串联到调用该办法的字符串;
slice(n,m) 再次来到字符串地方n到m之间的字符串;
substring(n,m) 同上;
substr(n,m) 重回字符串地方n开头的m个字符串;
var box = 'Mr.Lee';
console.log(box.concat('Ok!')); // =>Mr.Lee OK!;
console.log(box.slice(3)); // =>Lee;(截取从索引3开首的背后全数字符);
console.log(box.substring(3,5)); // =>Le;(截取索引3到索引5的字符);4.String对象字符串地点方法

indexOf(str,n) 从索引n起初向后查找第一个str,并将搜索的索引值再次回到;
lastIndexOf(str,n) 从索引n发轫向前找寻第二个str,并将寻觅的索引值重临;
var box = 'Mr.Lee is Lee';
console.log(box.indexOf('L')); // =>3;(在此从前向后查找到的首先个L的索引值是3);
console.log(box.lastIndexOf('L')); // =>10;(从后迈入寻找到的第二个L的索引值是10);
console.log(box.indexOf('L',5)); // =>10;(从第5个起来向后查找到的率先个L的索引值是10);
// 若无找到要探究的字符串,则赶回-1;

// 搜索总体的L;
var box = 'Mr.Lee is Lee';
var boxarr = []; // 存放L的数组;
var pos = box.indexOf('L'); // 获取第二个L的职位;
while(pos>-1){ // 假如地方大于-1,表达还存在L;
boxarr.push(pos); // 将找到的索引加多到数组中;
pos = box.indexOf('L',pos+1); // 重新赋值pos近来的岗位;
}
console.log(boxarr); // [3,10]

// trim()方法
// ECMAScript5为具有字符串定义了trim()方法;那几个方法会成立三个字符串的别本,删除前置及后缀的持有空格,然后回到结果;
var str = ' hello world ';
var trimstr = str.trim();
console.log(trimstr); // =>hello world;    console.log(str);             // => hello world 24 // 由于trim()再次来到的是字符串的别本,所以原始字符串中的前置及后缀空格会保持不变;5.String对象字符串大小写转变方法
toLowerCase(str) 将字符串全体改动为小写;
toUpperCase(str) 将字符串全体转移为大写;
toLocaleLowerCase(str) 将字符串全部调换小写,并且本地化;
toLocaleLowerCase(str) 将字符串全部转为大写,况且本地化;6.String目的字符串的格局相称方法

// 具体应用办法在正则里介绍过;
match(pattern) 再次来到pattern中的子串或null; // 与pattern.exec(str)一样;
replace(pattern,replacement)用replacement替换pattern;
search(pattern) 重临字符串中pattern开始地方;
split(pattern) 重返字符串按内定pattern拆分的数组;
var box = 'Mr.Lee is Lee';
var p = /L/g; // 开启全局的正则;
console.log(box.match(p)); // =>[L,L];
console.log(box.search(p)); // =>3;
console.log(box.replace(p,'Q')); // =>Mr.Qee is Qee;
console.log(box.split(' ')); // =>['Mr.Lee','is','Lee'];7.String对象其余方法
fromCharCode(ascii) 静态方法,输出Ascii码对应值;
localeCompare(str1,str2) 相比两个字符串,并重临相应的值;8.String目的HTML方法
// 通过JS生成一个html标签,用处非常的小;
var box = "Lee";
console.log(box.link('www.baidu.com')); //<a href="www.baidu.com">Lee</a>;

五 小结
// 因为有了主导包装档次,所以JS中的基本类型值能够被用作对象来做客;
// 基本项目特征:
// 1.各种包装档期的顺序都映射到同名的骨干类型;
// 2.在读取形式下访问基本类型值时,就能够缔造对应的主旨包装等级次序的一个目的,进而便利了数码操作;
// 3.操作基本类型值的讲话若是实施完结,就能够应声销毁新创造的包裹对象;

为了便于操作基本类型值,ECMAScript 提供了 3 个独特的援引类型:Boolean、Number和 String。这个体系与其余援用类型...

javascript基本包装档期的顺序介绍,javascript包装档次

为了便利操作基本项目值,ECMAScript 提供了 3 个特殊的引用类型:Boolean、Number和 String。那些项目与别的引用类型一般,但还要也具有与个其他基本类型相应的分歧日常表现。实际上,每当读取八个基本类型值的时候,后台就能够创立二个对应的为主包装档案的次序的对象,进而能够调用一些措施来操作那些多少。

一.中坚包装档期的顺序概述

var box = 'Mr. Lee';//定义一个字符串
var box2 = box.substring(2);//截掉字符串前两位
alert(box2);//输出新字符串

变量 box 是叁个字符串类型,而 box.substring(2)又表明它是二个指标(PS:唯有对象才会调用方法),最终把管理结果赋值给 box2。'Mr. Lee'是三个字符串类型的值,按道理它不应该是指标,不该会有和好的诀要,比方:

alert('Mr. Lee'.substring(2));//直接通过值来调用方法

1.字面量写法:

var box = 'Mr. Lee';//字面量
box.name = 'Lee';//无效属性
box.age = function () {//无效方法
return 100;
};
alert(box);//Mr. Lee
alert(box.substring(2));//. Lee
alert(typeof box);//string
alert(box.name);//undefined
alert(box.age());//错误

2.new 运算符写法:

var box = new String('Mr. Lee');//new 运算符
box.name = 'Lee';//有效属性
box.age = function () {//有效方法
return 100;
};
alert(box);//Mr. Lee
alert(box.substring(2));//. Lee
alert(typeof box);//object
alert(box.name);//Lee
alert(box.age());//100

上述字面量注解和 new 运算符注脚很好的来得了他们中间的分别。但有一定依旧得以一定的,那就是不管字面量情势依然new 运算符情势,都足以使用它的嵌入方法。而且Boolean 和 Number 性格与 String 一样,三连串型能够形成骨干包装档案的次序。

PS:在采纳 new 运算符创立以上三连串型的指标时,能够给本人增加属性和情势,但大家建议不用那样使用,因为这么会造成根本分不清到底是基本类型值依旧援引类型值。

二.Boolean 类型

Boolean 类型未有一定的性质大概措施。

三.Number 类型

Number 类型有一对静态属性(直接通过 Number 调用的品质,而无须 new 运算符)和措施。

Number 静态属性

必威 11

Number 对象的情势

必威 12

var box = 1000.789;
alert(box.toString());//转换为字符串,传参可以转换进制
alert(box.toLocaleString());//本地形式,1,000.789
alert(box.toFixed(2));//小数点保留,1000.78
alert(box.toExponential());//指数形式,传参会保留小数点
alert(box.toPrecision(3));//指数或点形式,传参保留小数点

四.String 类型

String 类型包罗了五个属性和大批量的可用内置方法。

String 对象属性

必威 13

String 也隐含对象的通用方法,比方 valueOf()、toLocaleString()和 toString()方法,但那么些主意都回到字符串的基本值。

字符方法

必威 14

var box = 'Mr.Lee';
alert(box.charAt(1));//r
alert(box.charCodeAt(1));//114
alert(box[1]);//r,通过数组方式截取

PS:box[1]在 IE 浏览器会展现 undefined,所以采纳时要谨慎。

字符串操作方法

必威 15

var box = 'Mr.Lee';
alert(box.concat(' is ', ' Teacher ', '!'));//Mr.Lee is Teacher !
alert(box.slice(3));//Lee
alert(box.slice(3,5));//Le
alert(box.substring(3));//Lee
alert(box.substring(3,5));//Le
alert(box.substr(3));//Lee
alert(box.substr(3,5));//Lee


var box = 'Mr.Lee';
alert(box.slice(-3));//Lee,6+(-3)=3 位开始
alert(box.substring(-3));//Mr.Lee 负数返回全部
alert(box.substr(-3));//Lee,6+(-3)=3 位开始


var box = 'Mr.Lee';
alert(box.slice(3, -1));//Le 6+(-1)=5, (3,5)
alert(box.substring(3, -1));//Mr. 第二参为负,直接转 0,并且方法会把较小的数字提前,(0,3)
alert(box.substr(3, -1));//'' 第二参数为负,直接转 0 ,(3,0)

PS:IE 的 JavaScript 达成在管理向 substr()方法传递负值的情形下存在难点,它会回来原始字符串,使用时要记住。

字符串地方方法

必威 16

var box = 'Mr.Lee is Lee';
alert(box.indexOf('L'));//3
alert(box.indexOf('L', 5));//10
alert(box.lastIndexOf('L'));//10
alert(box.lastIndexOf('L', 5));//3,从指定的位置向前搜索

PS:若无找到想要的字符串,则赶回-1。

示范:寻觅总体的 L。

var box = 'Mr.Lee is Lee';//包含两个 L 的字符串
var boxarr = [];//存放 L 位置的数组
var pos = box.indexOf('L');//先获取第一个 L 的位置
while (pos > -1) {//如果位置大于-1,说明还存在 L
boxarr.push(pos);//添加到数组
pos = box.indexOf('L', pos + 1);//从新赋值 pos 目前的位置
}
alert(boxarr);//输出

大大小小写转变方法

必威 17

var box = 'Mr.Lee is Lee';
alert(box.toLowerCase());//全部小写
alert(box.toUpperCase());//全部大写
alert(box.toLocaleLowerCase());
alert(box.toLocaleUpperCase());

PS:唯有两种语言(如土耳其(Turkey)语)具备地点有意的轻重写本地性,一般的话,是还是不是本地化效果都是毫发不爽的。

字符串的格局相配方法

必威 18

正则表明式在字符串中的应用,在前头的章节已经详尽探究过,这里就不再赘言了。以上中 match()、replace()、serach()、split()在平凡字符串中也可以动用。

var box = 'Mr.Lee is Lee';
alert(box.match('L'));//找到 L,返回 L 否则返回 null
alert(box.search('L'));//找到 L 的位置,和 indexOf 类型
alert(box.replace('L', 'Q'));//把 L 替换成 Q
alert(box.split(' '));//以空格分割成字符串

其他措施

必威 19

alert(String.fromCharCode(76));//L,输出 Ascii 码对应值

localeCompare(str1,str2)方法详解:相比五个字符串并再次回到以下值中的二个;

1.假诺字符串在字母表中应该排在字符串参数在此以前,则赶回二个负数。(很多-1)
2.一旦字符串等于字符串参数,则赶回 0。
3.假诺字符串在自附表中应有排在字符串参数之后,则赶回多个正数。(相当多 1)

[task]var box = 'Lee';
alert(box.localeCompare('apple'));//1
alert(box.localeCompare('Lee'));//0
alert(box.localeCompare('zoo'));//-1

HTML 方法

必威 20

以上是透过 JS 生成八个 html 标签,依据经验,没什么太大用处,做个理解。

var box = 'Lee';
alert(box.link('http://www.bkjia.com'));//超链接

学科内容来自 李宥恢先生JavaScript教程

上边是另外网络朋友整理的稿子:

一 基本包装档案的次序概述

 实际上,每当读取三个基本类型值的时候,后台就能够成立三个相应的主干包装档期的顺序的对象,进而能够调用一些艺术来操作这个多少;

  var box = 'Mr.Lee';          // 定义一个String字符串;  
  var box2 = box.substring(2);     // 截掉字符串前两位;
  console.log(box2);          // 输出新字符串;=>.Lee;
  // 变量box是一个字符串String类型,而box.substring(2)又说明它是一个对象(只有对象才会调用方法);
  console.log('Mr.Lee'.substring(3));  // 直接通过字符串值来调用方法=>Lee;

 引用类型和着力包装档案的次序的关键区别正是指标的生存期;
 自动创制的焦点包装等级次序的对象,则只设有于一行代码的实践刹那间,然后即刻被灭绝;
 那代表我们不能够在运作时为主干项目值增添属性和方法;

    var s1 = 'some text';                // => var s1 = new String('some text');
    var s2 = s1.substring(5);            // => var s2 = s1.substring(5);
                                         // s1 = null; 销毁这一个实例;后台自动试行;
1.字面量写法

  var box = 'Mr.Lee';         // 字面量;
  box.name = 'Lee';          // 无效属性;
  box.age = function(){        // 无效方法;
    return 100;
  };
  console.log(box.substring(3));    // =>Lee;
  console.log(typeof box);       // =>string;
  console.log(box.name);        // =>undefined;
  console.lgo(box.age());       // =>错误;

2.new运算符写法

  var box = new String('Mr.Lee');
  box.name = 'Lee';
  box.age = function(){
    return 100;
  };
  console.log(box.substring(3));    // =>Lee;
  console.log(typeof box);       // =>object;
  console.log(box.name);        // =>Lee;
  console.lgo(box.age());        // =>100;

 // 以上字面量申明和new运算符证明很好的呈现了她们之间的界别;
 // 可是,不管是字面量照旧new运算符,都能够采取它的放权方法(substring);

二 Boolean类型

// Boolean类型未有特定的天性或格局;

三 Number类型

// Number类型有部分静态属性(通过Number直接调用,而无须new运算符)和艺术;

1.Number对象的静态属性

MAX_VALUE            表示最大数;
MIN_VALUE            表示小小的值;
NaN                  非数值;
NEGATIVE-INFINITY    负无穷大,溢出重临该值;
POSITIVE_INFINITY    无穷大,溢出再次来到该值;
prototype            原型,用于扩展新属性和办法;

2.Number指标的措施

 toString()           将数值转化为字符串,并且能够调换进制;
 toLocaleString()     依照本地数字格式转变字符串;
 toFixed()            将数字保留小数点后钦点位数并转化为字符串;
 toExponential()      将数字以指数方式表示;
 toPrecision()        指数情势或点花样表示数字;

四 String类型

 String类型包涵了几个特性和大批量的可用内置方法;

1.String对象属性

 length                 重回字符串的字符长度;
 constructor            再次来到创造String对象的函数;
 prototype              通过增多属性和措施扩大字符串定义;2.String指标字符方法
 charAt(n)             再次来到钦赐索引地方的字符;
 charCodeAt(n)         以Unicode编码格局再次回到钦点索引地点的字符的编码;
     var box = 'Mr.Lee';
     console.log(box.charAt(1));                // =>r;
     console.log(box.charCodeAt(1));            // =>114;
     console.log(box[1])                        // =>r;通过数组方式截取;3.String目的字符串操作方法

 concat(str1...str2)   将字符串参数串联到调用该方法的字符串;
 slice(n,m)            重回字符串地方n到m之间的字符串;
 substring(n,m)        同上;
 substr(n,m)           重回字符串地方n起先的m个字符串;
     var box = 'Mr.Lee';
     console.log(box.concat('Ok!'));          // =>Mr.Lee OK!;
     console.log(box.slice(3));               // =>Lee;(截取从索引3早先的后边全部字符);
     console.log(box.substring(3,5));         // =>Le;(截取索引3到索引5的字符);4.String对象字符串地点方法

 indexOf(str,n)        从索引n伊始向后查找第一个str,并将寻觅的索引值重回;
 lastIndexOf(str,n)    从索引n开端向前搜索第一个str,并将寻觅的索引值重临;
     var box = 'Mr.Lee is Lee';
     console.log(box.indexOf('L'));          // =>3;(在此在此之前向后查找到的首先个L的索引值是3);
     console.log(box.lastIndexOf('L'));      // =>10;(从后迈入搜索到的第三个L的索引值是10);
     console.log(box.indexOf('L',5));        // =>10;(从第5个起来向后查找到的第叁个L的索引值是10);
     // 若无找到要物色的字符串,则赶回-1;
 
     // 找寻全数的L;
     var box = 'Mr.Lee is Lee';
     var boxarr = [];                        // 存放L的数组;
    var pos = box.indexOf('L');             // 获取第一个L的岗位;
     while(pos>-1){                          // 固然地点大于-1,表达还存在L;
         boxarr.push(pos);                   // 将找到的索引增多到数组中;
         pos = box.indexOf('L',pos+1);       // 重新赋值pos前段时间的岗位;
     }
     console.log(boxarr);                    // [3,10]
 
 // trim()方法
 // ECMAScript5为持有字符串定义了trim()方法;这一个方法会创制二个字符串的别本,删除前置及后缀的具备空格,然后重临结果;
     var str = '    hello  world   ';
     var trimstr = str.trim();
     console.log(trimstr);                   // =>hello  world;    console.log(str);             // =>    hello  world   24     // 由于trim()再次来到的是字符串的别本,所以原始字符串中的前置及后缀空格会保持不改变;5.String指标字符串大小写调换方法
 toLowerCase(str)        将字符串全部转换为小写;
 toUpperCase(str)        将字符串全体转变为大写;
 toLocaleLowerCase(str)  将字符串全部更动小写,何况本地化;
 toLocaleLowerCase(str)  将字符串全体转为大写,况且本地化;6.String指标字符串的格局相配方法

  // 具体运用办法在正则里介绍过;
  match(pattern)              重返pattern中的子串或null; // 与pattern.exec(str)同样;
  replace(pattern,replacement)用replacement替换pattern;
  search(pattern)             重临字符串中pattern开首地点;
  split(pattern)              重临字符串按内定pattern拆分的数组;
      var box = 'Mr.Lee is Lee';       
      var p = /L/g;                        // 开启全局的正则;
      console.log(box.match(p));           // =>[L,L];
      console.log(box.search(p));          // =>3;
     console.log(box.replace(p,'Q'));     // =>Mr.Qee is Qee;
     console.log(box.split(' '));         // =>['Mr.Lee','is','Lee'];7.String对象别的方法
  fromCharCode(ascii)         静态方法,输出Ascii码对应值;
  localeCompare(str1,str2)    相比七个字符串,并再次来到相应的值;8.String对象HTML方法
 // 通过JS生成一个html标签,用处比相当小;
     var box = "Lee";
     console.log(box.link('www.baidu.com'));    //<a href="www.baidu.com">Lee</a>;

五 小结  // 因为有了基本包装等级次序,所以JS中的基本类型值能够被看成对象来做客;
 // 基本类型特征:
 // 1.各种包装档期的顺序都映射到同名的骨干项目;
 // 2.在读取情势下访谈基本类型值时,就能成立对应的中央包装档期的顺序的五个对象,从而方便了数量操作;
 // 3.操作基本类型值的说话借使实施完成,就能立时销毁新制造的包裹对象;

为了便于操作基本项目值,ECMAScript 提供了 3 个特别的援用类型:Boolean、Number和 String。这一个类...

⑤.String类型:

String 类型的特种之处在于,它是独步一时未有固定大小的原始类型。
字符串字面量是由双引号(")或单引号(')注解的。

var str1 = "ES6";

var str2 = 'ES6';

都以科学的。

  • ECMAScript
  • Qt对象系统
  • Qt Quick标准库

有关小说

连带找出:

明日看什么

搜求能力库

回到首页

  • 隐性调用php程序的秘技
  • 浅谈JavaScript中的Math.atan()方法的行使
  • JavaScript中反正弦函数Math.asin()的利用简要介绍
  • JavaScript中的acos()方法应用详解
  • 介绍JavaScript中Math.abs()方法的利用
  • JavaScript中Math.SQRT2属性的运用详解

连锁频道: HTML/CSS  HTML5  Javascript  jQuery  AJax教程  前端代码  正则表达式  Flex教程  WEB前端教程  

③.Number 对象

Number 对象是 Number 原始类型的援引类型。

valueOf()方法:能够获得数字对象的Number原始值。

toFixed() 方法:能够回去的是有所钦命位数小数的数字的字符串表示。

var numberObj = new Number(15);

alert(numberObj.valueOf() );                     //输出15;

alert(numberObj.toFixed(2));                    //输出15.00


5.对象

首先评释,其实在ECMAScript中并不曾“类”那几个词,与其对应的是“对象定义”,这里的“类”代指的就是以此意思,不同于C++、Java中的类。前边提到的引用值,指向的正是目的。

目的是由new运算符加上要实例化的品类的名字创办的。举例:

var a = new Array();

  若是类的构造函数未有参数,括号能够省略。

多少个大旨的靶子:

  • Object

  Object类是全体ECMAScript类的基类,Object类的富有属性和格局都会合世在其他类中:

  • Object类中的属性:
    • constructor,指向成立对象的函数,对于Object类,它只想object()函数;
    • prototype,对该目的的靶子原型的援引;
  • Object类中的方法:
    • hasOwnProperty,决断目的是还是不是有有些属性,property为字符串;
    • isPrototypeOf,剖断该目的是或不是为另二个对象的原型;
    • propertyIsEnumerable,剖断给定的习性是或不是足以用for...in语句举办枚举(一般自定义的靶子属性都以足以枚举的);
    • toString(),重回对象的字符串表示。
    • valueOf(),再次来到最符合该指标的原始值。对于非常多类,该措施重返的值都与toString()同样。

如上的各类属性和办法都足以被object的派生类覆盖。

有关指标有以下几点须求申明:

1.动态增添属性

在ECMAScript中,对象的习性能够动态地增加和删除,譬如下边包车型客车亲自去做:

            var person = new Object();            person.name = "LingXiaoMo";            person.year = 20;

2.动态扩充方法

指标的法子正是一个函数,也得以动态地增多,然后按函数的办法调用,比如上面包车型地铁以身作则:

            person.printInfo = function printInfo() {                console.log("name-" , this.name , "year-" , this.year);            }            person.printInfo();

3.采纳数组下标访谈属性和章程

对象的性质和格局还是能接纳数组下标的格局来探问。比方那样:

            console.log(person["name"]);             // ->person.name            person["printInfo"]();                         // ->person.printInfo()

  []中的东西叫“索引”,这里的目录是字符串,并不是大家广大的卡尺头。是或不是想到了Key-Value?

4.利用for...in枚举对象属性

前边大家提过propertyIsEnumerable()方法可以看清四个目的的品质是不是足以枚举。比比较多自定义属性和章程都是能够枚举的,而放手对象或宿主对象的超越二分之一主旨属性是无法枚举的。枚举对象属性时大家运用数组下标法访谈对象属性。看如下的亲自去做:

            for(var prop in person) {                console.log(prop,",",person[prop]);            }

5.指标的字面量表示法

面前早就用过数字字面量、字符串字面量:

    • 怀有QML代码中央市直机关接输入的数字被看成是数字字面量;
    • 字符串字面量能够用双引号或单引号来声称;

其实对象也能用字面量表示:

            var person = {                "name": "LingXiaoMo",                "year": 20            }

  下面的代码和眼下先构造Object再加多属性的办法,获得的是一样的对象。

  对象的字面量表示法,语法是那样的:使用一对花括号表示二个指标,其属性以Key:Value对的款式放在其括号内,多个属性之间接选举用 逗号 分隔;倘诺一个属性自身是指标,还足以选取字面量表示法来嵌套描述。

  • String

String、Boolean、Numble都有温馨的对象表示法,一般都选用原始值。

您能够那样构造贰个String对象:

        var str = new String("I'm a string");

  对字符串有以下基本操作:

1.字符串长度

length属性再次来到字符串中的字符个数:

            console.log(str.length);

  对于String的原始值,一样能够由此length属性获知字串长度。比如:

            console.log("I'm a string".length);

2.拜候单个字符

charAt()方法能够访谈钦定索引地方的字符;

能够因而数组下标法访谈钦定位置的字符;

而charCodeAt()方法重回钦命地方字符对应的Unicode编码;

上面是简简单单的亲自去做:

            console.log(str.charAt;               // 输出m            console.log;                        // 输出I            console.log(str.charCodeAt;        // 输出39

3.查找字串

indexOf()方法从字符串的始发检索子串,lastInderOf()方法从字符串的尾声起头检索子串,它们重临子串在字符串中的地点,要是找不到则赶回-1.这四个艺术有叁个可选参数,内定初叶查找的岗位;

search()方法用于检索字符串中内定的字符串,或探索与正则表明式相相配的子字符串。区分轻重缓急写,且只能从字符串的早先张开搜寻;

match()方法可在字符串内找出钦定的值,或然找寻相称钦命正则表达式的三个或四个子串。重临一个贮存全部符合法规的子串的数组;

注:

上边4种格局都分别轻重缓急写。以多少个疏忽大小写的正则表明式为参数调用search方法,可实现忽略大小写的搜索。

回顾的示范:

            console.log(str.indexOf;         // 输出9            console.log(str.search);          // 输出-1            console.log(str.search(/String/i));         // 忽略大小写,输出6            console.log(str.match;               // 输出[tri]            var numberSource = new String("2014-08-18, I got 96");            var results = numberSource.match;            console.log(results.length);                  // 输出4            console.log;                             // 输出[2014,08,18,96]

4.字符串相比

使用超越、小于、等于多个运算符比较字符串,使用的是字符的Unicode编码进行比较,忽略了与本地语言碰到有关的语义和排序法则。

localeCompare()方法在可比字符串时,暗中同意使用底层操作系统提供的排序法规。等于时重返0,大于时回来1,小于时回来-1。

亲自过问代码片段:

            var str1 = "Qt";            var str2 = "qt";            var str3 = "ok";            console.log(str1<str2);                // true            console.log(str1.localeCompare;           // 1            console.log(str3.localeCompare;           // -1

  能够看来第3行和第4行的结果不均等,真令人意外。

5.连接字符串

concat()方法用于连接八个或多个字符串,重临二个新的字符串。

事实上中,使用”+“号大概会更有益一些,效果一样。

6.提取子串

领取子串的措施有八个:

      • slice(): 多个参数,第二个参数表示最初地方,第贰个参数表示停止位置(截取的子串不包罗此岗位上字符);
      • substring(): 五个参数,与slice()类似,此措施总是把不大的参数作为开场地方,比方substring和substring效果等同;
      • substr(): 三个参数,第三个参数表示其实地点,第贰个象征待提取子串的尺寸;

注:

上述多个法子都得以不点名第二个参数,如不钦点则赶回从开始地点到甘休的具备字符;

slice()和substring()八个情势的不一样之处在于对负数参数的拍卖:后面一个蒙受负数时,会利用”从串尾尾数“这种政策,而后面一个则是把负数当作0来拍卖。

7.高低写转变

  达成大小写转变的有七个方法:

  • 大写->小写
    • toLowerCase()
    • toLocaleLowerCase()
  • 小写->大写
    • toUpperCase()
    • toLocaleUpperCase()

8.字符串替换

replace方法能够完结这么些效果。它的第贰个参数是贰个字符串原始值大概正则表达式,第叁个参数是新字符串。

9.使用arg()举行值替换

arg()是Qt C++中的东西,在这里是QML对落实ECMAScript时做的恢弘。

arg()的语法是:string arg。个中value能够是数字、字符串、布尔值、对象等,它用来替换发出调用的字符串对象内的%1、%2、%N等占位符;布尔值会被轮换为1或0;对于指标,则使用toString()方法转变后的结果来替换对应的占位符。arg()会回来一个新的字符串对象。

示范代码片段:

            var expression = "%1 < %2 = %3";            var result = expression.arg.arg;

  

亟待专心的是,String类型的目的是只读的,凡是牵涉到修改的动作,母串自个儿不会转移。其他,字符串原始值是伪对象,它能够利用String类的具有属性和办法。

String类谈到那边,不再多言。

  • RegExp

在Qt C++中有QRegExp,在QML中有RegExp,它们是对字符串实施形式相配的无敌区工作具。

在ECMAScript中帮忙的三种结构正则表明式的方法:

    • 字面量语法:/pattern/attributes
    • 创建RegExp对象:new RegExp(pattern,attributes)

或RegExp(pattern,attributes)。

关张晓芸则表明式的修饰符、元字符等其他内容,这里临时略过。

  • Array

在ECMAScript中数组都以动态的,其尺寸能够随时变动,何况数组中的成分类型能够不一样。

上边大家来探视对数组的基本操作:

1、数组的成立

          var arrayObj = new Array(); //创建一个数组          var arrayObj = new Array; //创建一个数组并指定长度,注意不是上限,是长度          var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值 

  要注明的是,即使第三种方法成立数组钦定了长短,但实则全体意况下数组都以变长的,也即是说尽管钦命了尺寸为5,依然能够将成分存款和储蓄在明确长度以外的,注意:那时间长度度会随着改换。

2、数组的要素的拜见

            var testGetArrValue=arrayObj[1]; //获取数组的元素值            arrayObj[1]= "这是新值";              //给数组元素赋予新的值

3、数组成分的增进

            arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度            arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度            arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。

4、数组成分的删除

            arrayObj.pop(); //移除最后一个元素并返回该元素值            arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移            arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素

5、数组的截取和合併

            arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素            arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

6、数组的正片

            arrayObj.slice; //返回数组的拷贝数组,注意是一个新的数组,不是指向            arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7、数组元素的排序

            arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址            arrayObj.sort(); //对数组元素排序,返回数组地址   

8、数组成分的字符串化

            arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。            //toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

数组对象的3个属性:

1、length 属性

  Length属性表示数组的长度,即内部成分的个数。因为数组的目录总是由0先导,所以贰个数组的上下限分别是:0和length-1。和其它大多语言差异的是,ECMAScript数组的length属性是可变的,那或多或少索要非常注意。当length属性被设置得更加大时,整个数组的气象其实不会发生变化,仅仅是length属性别变化大;当length属性被装置得比原本小时,则原先数组中索引大于或等于length的成分的值全部被扬弃。下边是身体力行改造length属性的事例:

            var arr=[12,23,5,3,25,98,76,54,56,76];            //定义了一个包含10个数字的数组             //显示数组的长度10            arr.length=12; //增大数组的长度             //显示第9个元素的值,为56            arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃             //显示第9个元素已经变为"undefined"            arr.length=10; //将数组长度恢复为10             //虽然长度被恢复为10,但第9个元素却显示"undefined"

  由地点的代码大家可以精晓的看看length属性的习性。但length对象既可以够显式的装置,它也是有希望被隐式修改。ECMAScript中得以采用八个未表明过的变量,一样,也足以使用一个未定义的数组元素(指索引超越或等于length的要素),那时,length属性的值将棉被服装置为所利用要素 索引的值加1。举个例子上面包车型地铁代码:

            var arr=[12,23,5,3,25,98,76,54,56,76];            arr[15]=34;

2、prototype 属性

重返对象类型原型的引用。prototype 属性是 object 共有的。

objectName.prototype

objectName 参数是object对象的称呼。

证明:用 prototype 属性提供对象的类的一组基本作用。 对象的新实例“承继”赋予该对象原型的操作。

对此数组对象,以以下例子表明prototype 属性的用处。

给数组对象加多重回数组中最大成分值的法子。要产生那点,声Bellamy个函数,将它步向Array.prototype, 并使用它。

      function array_max()       {          var i,          max = this[0];          for (i = 1; i < this.length; i++)          {              if (max < this[i])              max = this[i];          }          return max;      }      Array.prototype.max = array_max;      var x = new Array(1, 2, 3, 4, 5, 6);      var y = x.max();

3、constructor 属性

意味着成立对象的函数。

object.constructor //object是目的或函数的称呼。

证实:constructor 属性是持有具备 prototype 的靶子的积极分子。constructor 属性保存了对结构特定对象实例的函数的援用。

例如:

      x = new String;      if (x.constructor == String) // 进行处理。

  或

      function MyFunc {         // 函数体。      }      y = new MyFunc;      if (y.constructor == MyFunc){} // 进行处理。

  对于数组来讲:

            y = new Array();

至于Math、Data等品种请移驾到Qt支持形式下,以重大字检索就可以!

帮客争辨

Object 对象还保有多少个法子:

--hasOwnProperty(property):

认清目的是否有有些特定的习性。必得用字符串内定该属性。(比方,o.hasOwnProperty("name"))

--IsPrototypeOf(object):

认清该对象是不是为另三个目的的原型。

--PropertyIsEnumerable:

剖断给定的属性是还是不是能够用 for...in 语句实行枚举。

--ToString():

归来对象的原始字符串表示。对于 Object 对象,ECMA-262 未有定义那些值,所以不一致的 ECMAScript 达成全数不相同的值。

--ValueOf():

回来最符合该指标的原始值。对于多数对象,该方法再次回到的值都与 ToString() 的重临值同样。

注脚:下边列出的每一个性子和章程都会被其余对象覆盖。


上面起初简要介绍ECMAScript:

一.ECMAScript 原始值和引用值

在 ECMAScript 中,变量能够存在两体系型的值,即原始值和引用值。

6.函数

先是,ECMAScript不帮助函数重载,然后大家加以函数语法。

函数语法如下:

    function functionName(arg1,arg2,...,argN) {        // 要执行的代码    }
  • function是概念函数时必得选择的要紧字;
  • 小括号内arg参数能够不加;
  • functionName能够放肆取,符合变量命名法规就能够;
  • 花括号内是要试行的代码块;
  • 函数要重回值时,能够用return语句;

 别的的有个别运算符、优先级以及循环语句和标准决定语句,这里一概不论,下边说说那么些console。

TAG标签:
版权声明:本文由必威发布于必威-编程,转载请注明出处:QML有三个核心必威, 为了便于操作基本类型值