JavaScript高级

JavaScript高级

每个JavaScript函数实际上都是一个Function对象
  1. 创建函数的3种方式
    • 函数声明的方式
      function 函数的名称(){}
      
    • 函数表达式
      var 函数名 = function(){}
      var fn = function (){}
      通过fn()获取
      
    • 构造函数的创建
      var 函数名 = new Function('a','alert(a)') 第一个指的是参数,第二个指的是函数体
      
  2. 函数的声明与函数的表达式区别
    - 函数声明可以在任意可见位置调用(即在函数定义的前后即可)
    - 函数表达式:必须先定义以后在进行调用
    - 函数声明可以预加载(预解析),也就是函数声明有函数提升的作用
  3. 变量作用域
    • 作用域的分类:全局作用域,局部作用域,块级作用域
    • 全局:在任意位置都可以访问的范围(函数外部,函数内部可以)
    • 全局变量会自动追加到window下
  4. 相关实例演示
        function Foo(){
            getName = function(){
                alert(1)
            }
            return this;
        }

        Foo.getName=function(){alert(2)}
        Foo.prototype.getName=function(){alert(3)}
        var getName = function(){alert(4)}
        function getName(){alert(5)}

        Foo.getName()  //2  (函数本身也是对象)
        getName()	//4 (函数的调用区别,函数的预解析)
        Foo().getName() //1  (作用于和this指向)
        getName()  // 1
        new Foo.getName() //2
        new Foo().getName() //3  (原型链的概念)
        new new Foo().getName()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值