Javascript——预编译与数学对象

预编译

预编译分为全局预编译和局部预编译,全局预编译发生在页面加载完成时执行,而局部预编译发生在函数执行的前一刻。

tip:预编译阶段发生变量声明和函数声明,没有初始化行为(赋值),匿名函数不参与预编译 。只有在解释执行阶段才会进行变量初始化 。

全局预编译步骤:

         1.创建GO对象(Global Object)全局对象。

         2.找变量内容,将变量名作为GO属性,值为undefined

        3.查找函数声明,作为GO属性,值赋予函数体。

        伪代码

        GO(Global Object)   全局对象  全局指window

         window/GO{

            a:undefined,

         }

局部预编译

        1.创建AO对象(Activation Object)执行期上下文。

        2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined。

         3.将实参值和形参统一。

        4.在函数体里面找函数声明,值赋予函数体。

tip:GO对象是全局预编译,所以它优先于AO对象所创建和执行

Javascript中的数学对象    

 console.log(Math.PI);   在控制台输出圆周率

 console.log(Math.ceil(4.789));  //向上取整

 console.log(Math.ceil(-2.34));  //向上取整  取到值 》= 参数

 console.log(Math.floor(4.789));  //向下取整

  console.log(Math.floor(-4.790));

  console.log(parseInt(-4.789));


 

    console.log(Math.round(4.789));  //四舍五入取整

    console.log(Math.max(10,7,3));  //返回一组数中较大值

    console.log(Math.min(10,7,2));  //返回一组数中较小值

    console.log(Math.abs(-1));    //返回数的绝对值

    console.log(Math.pow(2,3));  //x的y次幂

    console.log(Math.random());   //返回介于0~1之间的随机数

    console.log(Math.random()*10);  //范围[0,10]

    console.log(Math.round(Math.random()*10));  //可能取到0或者10

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值