单体内置对象

单体内置对象

内置对象的定义是:不依赖宿主环境的对象,这些对象在ECMScript程序执行之前就已经存在了。开发人员不必实例化,因为他们已经存在了。前面我们已经介绍了大多数内置对象,例如:ObjectArrayString
ECMScript定义了2个单体内置对象

  • Global
  • Math

一、Global

所有的全局作用域中定义的属性和函数,都是Global对象的属性

  • isNaN()
  • isFinite()
  • parseInt()
  • parseFloat()
  • encodeURI()
  • encodeURIComponent()
  • decodeURI()
  • decodeURIComponent()
  • escape()
  • unescape()
  • eval()
    这里着重介绍eval()
    eval()是一个完整的ECMScript解析器,它只接受一个参数,即要执行的ECMScript或JavaScript字符串

    eval("alert('hellow word')");
    //上面这行代码的作用等价于下面这行代码:
    alert('hellow word');

当解析器发现代码中调用eval()方法时,它会将传入的参数当做实际的ECMScript语句来解析,然后把执行的结果插入到原来的位置。通过eval()执行的代码被认为是包含该次调用的执行环境的一部分,因此被执行的代码具有与该执行环境相同的作用域,这意味着通过eval()执行的代码可以引用在包含环境中定义的变量,举个例子:


    var msg='hellow world';
    eval("alert(msg)");

eval()中创建的任何变量或函数都不会被提升,因为再解析代码的时候,它们被包含在一个字符串中,它们只在eval()执行的时候创建
eval()解析字符串的功能非常强大,但同时也非常危险

二、Math对象

1、常用的方法

方法属性
Math.min()求最小数
Math.max()求最大数
Math.ceil()向上取整
Math.floor()向下取整
Math.round()四舍五入
Math.randow()返回一个大于等于0小于1的随机数

利用Math.randow()可随机生成某个整数范围内的数值,公式:
值=Math.floor(Math.random()*可能的得总数+第一个可能的值)
取值范围【start,end】,可能值得总数=end-star 第一个可能的值=start
例、随机生成22-69之间的数字


    //可能值得总数=69-22,第一个可能的值22
    console.log(Math.floor(Math.random()*47+22));

2、其他方法

方法说明
Math.abc(num)返回num的绝对值
Math.exp(num)返回Math.E的num次幂
Math.log(num)返回num的自然对数
Math.pow(num,power)返回num的power次幂
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的正切值

小结

在所有的代码执行之前,作用域中就已经存在两个内置对象:Global和Math。在大多数ECMAScript视线中都不能直接访问Global对象;不过,web浏览器实现了承担该角色的window对象。全局变量和函数都是Global对象的属性。Math对象提供了很多属性和方法,用于辅助完成复杂的数学计算任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值