JavaScript学习记录-内置对象

内置对象的官方定义“由ECMAScript实现提供的、不依赖宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了。”也就是说,内置对象已经实例化了,已经不需要显示的实例化它们。有两个内置对象:Global和Math。

一、Global对象

ECMAScript中任何不属于其它对象的属性和方法,都是Global对象(全局对象)的属性和方法,实际这个对象是不存在,也就是并不存在全局变量和全局函数。所有在全局作用域中定义的变量和函数,都是Global对象的属性和方法。然而,Global对象是无法调用的,所以Global.属性和Global.方法()都是无效的。Web浏览器将Global作为window对象的一部分进行实现,Global对象有一些内置的属性和方法。

1、URI 编码方法

URI编码采用特殊的UTF-8编码对链接进行编码,替换了所有无效的字符,以便发送给浏览器并能够接受和理解。URI方法如下所述的四种,能够编码所有的Unicode字符。

(1)encodeURI()不会对本身属于URI的特殊字进行编码,譬如冒号:、正斜杠\ 、问号? 、井号# ,

        encodeURIComponent()会对其发现的任何非标准字符进行编码。

var demo="//一";
alert(encodeURI(demo));//输出结果//%E4%B8%80,看不懂但只知道保留了//,说明没有编码特殊字符//
alert(encodeURIComponent(demo));//输出结果%2F%2F%E4%B8%80

ncodeURIComponent()编码比encodeURI()编码来的更加彻底,一般来说encodeURIComponent()使用频率要高一些。

使用URI编码之后还可以进行解码。

(2)decodeURI()

         decodeURIComponent()

扫描二维码关注公众号,回复: 2652458 查看本文章
var demo1="//二";
var demo2=encodeURI(demo1);
alert(decodeURI(demo2));    //输出结果//二
var demo3=encodeURIComponent(demo1);
alert(decodeURIComponent(demo3));   //输出结果//二

2、eval() 方法

该方法主要作用是作为一个字符串解析器,它只接受一个参数,而这个参数就是需要执行的JavaScript代码的字符串。

eval("var demo1=100");
alert(demo1);   //输出结果100
eval("alert(100)"); //输出结果100
eval("function demo2(){return 123;}");
alert(demo2);   //输出结果function demo2(){return 123;}

eval()方法的功能很强大,也很危险,在用户输入数据的情况下,很有可能导致程序的安全性。但现在学习的很基础,再深入的知识点不理解,在以后学习过程中理解了更多时候再来补充。

3、Global对象属性

Global对象包含了一些属性:undefinedNaNObjectArrayFunction等等。

4、window对象

Global没有办法直接访问,而Web浏览器可以使用window对象来实现一全局访问。

二、Math对象

Math对象用于保存数学公式和信息。

1、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的平方根(square)

Math.SQRT2

2的平方根

//回顾数学之美,微笑脸
alert(Math.E);//2.718281828459045
alert(Math.LN10);//2.302585092994046
alert(Math.LN2);//0.6931471805599453
alert(Math.LOG10E);//0.4342944819032518
alert(Math.LOG2E);//1.4426950408889634
alert(Math.PI);//3.141592653589793
alert(Math.SQRT1_2);//0.7071067811865476
alert(Math.SQRT2);//1.4142135623730951

2、max()方法和min()方法

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

alert(Math.max(1,1,2,3,5,8,1,3,2,1));//8
alert(Math.min(11,2,3,5,8,13,21));//2

3、四舍五入方法

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

4、random()随机方法

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

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

(1)1-10中产生1个随机数

var demo=Math.floor(Math.random()*10+1);
document.write(demo);

(2)5-19中产生15个随机数

for(var i=0;i<15;i++)   //产生15个随机数
{
    var demo=Math.floor(Math.random()*15+5);//随机数范围5~19
    document.write(demo+"</br>");
}

(3)函数形式,1-5中产生10个随机数

function selectFrom(lower,upper){
    var sum=upper-lower+1;
    var range=Math.floor(Math.random()*sum+lower);
    return range;
}
for(var i=0;i<10;i++){
    document.write(selectFrom(1,5)+"</br>");
}

5、其他的很多方法

 

 

Math.abs(num)

返回num的绝对值

Math.exp(num)

返回Math.Enum次幂

Math.log(num)

返回num的自然对数

Math.pow(num,power)

返回numpower次幂

Math.sqrt(num)

返回num的平方根

Math.acos(x)

返回x的反余弦值

Math.asin(x)

返回x的反正弦值

Math.atan(x)

返回x的反正切值

Math.atan2(y,x)

返回y/x的反正切值

Math.cos(x)

返回x的余弦值

Math.sin(x)

返回x的正弦值

Math.tan(x)

返回x的正切值

猜你喜欢

转载自blog.csdn.net/bertZuo/article/details/81452805