分享

软件测试学习教程—JavaScript内置对象

 千锋IT培训 2019-08-15

     JavaScript内置对象

内置对象的定义是:“由ECMAScript实现提供的、不依赖宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了。”ECMA-262只定义了两个内置对象:Global和Math。

Global对象

Global(全局)对象是ECMAScript中一个特别的对象,因为这个对象是不存在的。在ECMAScript中不属于任何其他对象的属性和方法,都属于它的属性和方法。所以,事实上,并不存在全局变量和全局函数;所有在全局作用域定义的变量和函数,都是Global对象的属性和方法。

内置的属性和方法:

URI编码方法

URI编码可以对链接进行编码,以便发送给浏览器。它们采用特殊的UTF-8编码替换所有无效字符,从而让浏览器能够接受和理解。

encodeURI()不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和#号;而encodeURIComponent()则会对它发现的任何非标准字符进行编码

var b = '//Test王';

alert(encodeURI(b));                                        //只编码了中文

var b = '//Test王';

alert(encodeURIComponent(b));                 //特殊字符和中文编码了

一般来说encodeURIComponent()使用频率要高一些。

使用了URI编码过后,还可以进行解码,通过decodeURI()和decodeURIComponent()来进行解码

var b = '//Test王';

alert(decodeURI(encodeURI(b)));               //还原           

var b = '//Test王';

alert(decodeURIComponent(encodeURIComponent(b)));           //还原

eval()方法

eval()方法主要担当一个字符串解析器的作用,他只接受一个参数,而这个参数就是要执行的JavaScript代码的字符串。

eval('var b = 100');                                    //解析了字符串代码

alert(b);

eval('alert(100)');                                      

eval('function b() {return 123}');                 //函数也可以

alert(b());

eval()方法的功能非常强大,但也非常危险。因此使用的时候必须极为谨慎。特别是在用户输入数据的情况下,非常有可能导致程序的安全性,比如代码注入等等。

Global对象属性

Global对象包含了一些属性:undefined、NaN、Object、Array、Function等等。

alert(Array);                                                    //返回构造函数

window对象

Web浏览器可以使用window对象来实现一全局访问。

alert(window.Array);                                       

Math对象

ECMAScript还为保存数学公式和信息提供了一个对象,即Math对象。

Math对象的属性

Math对象包含的属性大都是数学计算中可能会用到的一些特殊值。

属  性

说  明

Math.E

自然对数的底数,即常量e的值

Math.LN10

10的自然对数

Math.LN2

2的自然对数

Math.LOG2E

以2为底e的对数

Math.LOG10E

以10为底e的对数

Math.PI

∏的值

Math.SQRT1_2

1/2的平方根

Math.SQRT2

2的平方根

alert(Math.E);                                                  //

alert(Math.LN10);

alert(Math.LN2);

alert(Math.LOG2E);

alert(Math.LOG10E);

alert(Math.PI);

alert(Math.SQRT1_2);

alert(Math.SQRT2);                                          //

min()和max()方法

Math.min()用于确定一组数值中的最小值。Math.max()用于确定一组数值中的最大值。

alert(Math.min(21,14,31,16,43,85,70,19,36));                          //最小值

alert(Math.max(41,17,82,30,11,29,26,10,37,25));                     //最大值

舍入方法

Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数;

Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数;

Math.round()执行标准舍入,即它总是将数值四舍五入为最接近的整数;

alert(Math.ceil(25.9));                                      //26

alert(Math.ceil(25.5));                                      //26

alert(Math.ceil(25.1));                                      //26

alert(Math.floor(25.9));                                    //25

alert(Math.floor(25.5));                                    //25

alert(Math.floor(25.1));                                    //25

alert(Math.round(25.9));                                          //26

alert(Math.round(25.5));                                          //26

alert(Math.round(25.1));                                          //25

random()方法

Math.random()方法返回介于0到1之间一个随机数,不包括0和1。如果想大于这个范围的话,可以套用一下公式:

值 = Math.floor(Math.random() * 总数 + 第一个值)

alert(Math.floor(Math.random() * 10 + 1));        //随机产生1-10之间的任意数

for (var i = 0; i<10;i ++) {

       document.write(Math.floor(Math.random() * 10 + 5));             //5-14之间的任意数

       document.write('<br />');

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多