码迷,mamicode.com
首页 > 编程语言 > 详细

前端之JavaScript进阶

时间:2018-09-05 19:57:05      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:object   order   es6   array   info   区别   对象   数据类型   作用   

 一. 函数

  JavaScript中的函数和python中的函数非常类似,只是在定义方式上有部分区别.

  1. 定义函数 ;

  函数只能返回一个值,如果要返回多个值,只能将其放在数组或对象中返回.

    ①. 普通函数 :

      function f1 ()  {

        console.log ("hello world");    

      }

      f1();  //调用方法

    ②. 带参数的函数 :

      function f2 (a,b)  {

        console.log(arguments);  //内置arguments对象

        console.log(arguments.length);

        console.log(a,b);

      }

      f2(a,b);  //调用方法

    ③. 带返回值的函数 :

      function sum(a,b)  {

        return a+b;

      }

      sum(a,b);  //调用方法

    ④. 匿名函数 :

      var sum = function(a,b)  {

        return a+b;

      }

      sum(a,b);  //调用方法

    ⑤. 立即执行的函数 :

      ( function(a,b)  { return a+b } ) (a,b);

    ※. ES6中允许使用" 箭头 "( => )定义函数 :

      var f = v => v;

      f : 函数名

      v : 函数参数 (箭头左侧) 如果函数有多个参数或者没有参数,此位置要用圆括号代替

      v : 函数返回 (箭头右侧)

  2. 函数的arguments参数 :

    function f2 (a,b)  {

      console.log(arguments.length);

      console.log(a,b);

    }

    f2(2,3);

    输出结果 :  2

          2  3 

   技术分享图片

    即使函数设置的参数的个数,但是用了内置arguments参数的函数也可以接受任意数量的参数.

  3. 函数的全局变量和局部变量 :

    ①. 全局变量 : 

      在JavaScript函数的外部声明的变量是全局变量,网页上所有脚本和函数都可以访问它.

    ②. 局部变量 :

      在JavaScript含糊内部声明的变量(使用var)是局部变量,所以只能在函数内部访问它(该变量的作用域是函数内部).只要函数运行完毕,本地的局部变量就会被删除.

    ③. 变量的生存周期 ;

      JavaScript变量的生命周期从他们被声明开始.

      局部变量在函数运行完之后被删除.

      全局变量会在页面关闭后删除.

    ④. 变量的作用域 : 

      函数查找变量会首先在函数内部查找,找不到则到外层查找,逐步找到最外层.

  4. 词法分析

    JavaScript中在调用函数之前,会有一瞬间的时间去对函数进行词法分析.

    函数内部无论是使用参数还是使用局部变量都到AO上找.--*/

    词法分析过程 :

      当函数调用的前一瞬间,会先形成一个激活对象(Active Object),简称AO.

      ①. 函数设置形参,添加到AO属性,并且值为undefined,即AO,参数 = undefined

         函数运行接收实参,添加到AO属性,将之前的undefined值覆盖

      ②. 如果在分析参数时AO未添加变量属性,则将变量属性添加到AO且值为undefined,即AO.变量 = undefined

         如果在分析参数时AO已经有了变量属性,则变量属性不做修改.

      ③. 如果函数内声明了和分析变量得出的变量名相同的函数,则将对应的变量替换成函数.如果没有声明函数或者声明的函数和分析变量的变量名不相同,则不做任何操作.

  5. 内置对象和方法

    JavaScript中的所有事物都是对象 : 字符串, 数字, 数组, 日期, 等等.对象是拥有属性和方法的数据.

类型 内置对象 介绍
数据类型 Number 数字对象
String 字符串对象
Boolean 布尔值对象
组合对象 Array 数组对象
Math 数学对象
Date 日期对象
高级对象 Object 自定义对象
Error 错误对象
Function 函数对象
RegExp 正则表达式对象
Global 全局对象

前端之JavaScript进阶

标签:object   order   es6   array   info   区别   对象   数据类型   作用   

原文地址:https://www.cnblogs.com/dong-/p/9593730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!