第五章:引用类型(Function类型和内置对象 简略版)

  • 本来这篇文章我已经写过了,后来误删了,所以这次就简略写一次。这里顺便吐槽一下CSDN的保存机制。
  • Function 类型没有重载是因为1.变量都是存着arguments里面的无法区分。Function类型是一个对象,而函数名只是一个指针,不可能说一个指针指向2个函数。
  • 函数有直接声明和函数表达式两种方式。后者是没有函数提升的效果的。
  • 函数有两个重要的内部属性:arguments和this。arguments指向参数数组,有一个属性arguments.callee指向函数本身,利用这个属性可以解耦。(arguments.callee.caller执行调用该函数的函数)this属性指向函数据以执行的环境对象(在全局环境下调用是window,其余情况一般就是函数前面所带的对象名的环境对象)。
  • call()和apply()。后者传数组。多用于改变作用域。
  • 内置对象即由js实现提供、不依赖宿主环境的对象。除了Object、Array等之前提到过的,这里还有两个Global和Math。
  • Global(全局)对象,看看名字就知道基本上我们用的isNaN()、isFinite()、parseInt()、parseFloat()都是该对象的方法。还有encodeURI、encodeURIComponent、decodeURI、decodeURIComponent。其中13对应24对应。另外encodeURIComponent decodeURIComponent能够编码解码更多的特殊字符。
  • eval()方法 eval()方法接收一个字符串。该字符串就是我们平常写的代码(假设是code),不过就是用 eval(“code”);包起来了。要注意当代码写在code里面时,函数是无法得到提升的。
    var a = b();
    function b() {
        return 1;
    }
    --------------
    var a = b();//报错
    eval("function b() {
        return 1;
    }");
  • Global对象其实是window对象的一部分。
    var color = "red";
    alert(window.color);//red
  • Math对象中含min()和max()方法,可以传入多个参数。利用apply()方法,可以达到以下效果:
    var values = [1,2,3,4,5,6,7];
    var max = Math.max.apply(Math, values);
  • ceil()向上取整
  • round()四舍五入取整
  • floor()向下取整
  • random()返回一个0~1的小数 不包含0 和 1
  • abs()绝对值 pow(num, power)幂 sqrt()平方根 还有一些三角函数此处省略。还有一些常量此处省略。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值