AI智能
改变未来

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()  // 1new Foo.getName() //2new Foo().getName() //3  (原型链的概念)new new Foo().getName()
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » JavaScript高级