JavaScript学习总结(一)基础部分
    Wednesday, December 13, 2017
    12:22 PM
    基本概念
    javascript是一门解释型的语言,浏览器充当解释器。js执行时,在同一个作用域内是先解释再执行。解释的时候会编译function和var这两个关键词定义的变量,编译完成后从上往下执行并向变量赋值。
    区分大小写
    ECMASCript中的一切(包括变量,函数名和操作符)都区分大小写。

    1. 变量
      变量在第一次用到时就设置于内存中,便于后来在脚本中引用。使用变量之前先进行声明。可以使用 var 关键字来进行变量声明。
      var count, amount, level; // 用单个 var 关键字声明的多个声明。
      变量命名
      变量名包括全局变量,局部变量,类变量,函数参数等等,他们都属于这一类。
      变量命名都以类型前缀+有意义的单词组成,用驼峰式命名法增加变量和函式的可读性。例如:sUserName,nCount。
      前缀规范:
      每个局部变量都需要有一个类型前缀,按照类型可以分为:
      s:表示字符串。例如:sName,sHtml;
      n:表示数字。例如:nPage,nTotal;
      b:表示逻辑。例如:bChecked,bHasLogin;
      a:表示数组。例如:aList,aGroup;
      r:表示正则表达式。例如:rDomain,rEmail;
      f:表示函数。例如:fGetHtml,fInit;
      o:表示以上未涉及到的其他对象,例如:oButton,oDate;
      g:表示全局变量,例如:gUserName,gLoginTime;
      JScript 是一种区分大小写的语言。创建合法的变量名称应遵循如下规则:
      注意第一个字符不能是数字。
      后面可以跟任意字母或数字以及下划线,但不能是空格 变量名称一定不能是 保留字。
      javascript是一种弱类型语言,JavaScript 会忽略多余的空格。您可以向脚本添加空格,来提高其可读性。
      var是javascript的保留字,表明接下来是变量说明,变量名是用户自定义的标识符,变量之间用逗号分开。
      如果声明了一个变量但没有对其赋值,该变量存在,其值为Jscript 值 undefined。
      强制类型转换

    在 Jscript 中,可以对不同类型的值执行运算,不必担心 JScript 解释器产生异常。相反,JScript 解释器自动将数据类型之一改变(强制转换)为另一种数据类型,然后执行运算。例如:
    运算 结果
    数值与字符串相加 将数值强制转换为字符串。
    布尔值与字符串相加 将布尔值强制转换为字符串。
    数值与布尔值相加 将布尔值强制转换为数值。
    要想显式地将字符串转换为整数,使用 parseInt 方法。要想显式地将字符串转换为数字,使用 parseFloat 方法。
    JavaScript 变量的生存期:当您在函数内声明了一个变量后,就只能在该函数中访问该变量。当退出该函数后,这个变量会被撤销。这种变量称为本地变量。您可以在不同的函数中使用名称相同的本地变量,这是因为只有声明过变量的函数能够识别其中的每个变量。
    如果您在函数之外声明了一个变量,则页面上的所有函数都可以访问该变量。这些变量的生存期从声明它们之后开始,在页面关闭时结束。
    js变量思维导图
    Int 整 型 《  fl  Float 浮 点  Boolean 布 尔  Strin 字 符 串  变 量 名 : 类 型 + 对 象 描 述  b  S  匈 牙 利 命 名 法  方 法  命 名  声 明  JavaScript 变 量  变 量 类 型  Array 数 组 a  0b'ect 对 象 0  Function 函 数 fn  Regular Expression 正 则  单 词 与 单 词 间 用 下 划 线 分 割  大 驼 峰 每 个 单 词 首 字 母 大 写  re  全 部 小 写  駝 峰 命 名 法  大 小 写 混 合  小 驼 峰 第 一 个 单 词 首 字 母 小 写  首 字 符 芡 文 字 母 或 名 下 划 线  组 成 英 文 字 母 、 数 字 、 下 划 线  规 则  禁 忌 〕 avaScri t 关 键 词 与 、 保 留 字  var 变 虽 名  显 示 声 明  , 其 他 首 字 母 大 与  陋 习  正 解  没 有 类 型  重 复 声 明  隐 式 声 明  不 声 明 直 接 賦 值  先 声 明 , 后 读 写  先 赋 值 , 后 运 算  值 类 型 园  引 用 类 型  包 含  全 局 变 量  调 用  包 含  局 部 变 量  调 用  匦 占 用 空 间 固 定 , 保 存 在 栈 中  到 保 存 与 复 制 的 是 值 本 身  湖 使 用 评 peof 检 测 数 据 的 类 型  河 基 本 类 型 数 据 是 值 类 型  匦 占 用 空 间 不 固 定 , 保 存 在 堆 中  到 保 存 与 复 制 的 是 指 向 对 象 的 一 个 指 针  @ 使 用 instanceof 检 测 数 据 的 类 型  0 使 用 new() 方 法 构 造 出 的 对 象 是 引 用 型  在 函 数 体 外 定 义 的 变 量  在 函 数 体 内 部 定 义 的 无 va 「 的 变 量  任 1 可 位 置  在 函 数 内 部 使 用 var 声 明 的 变 量  函 数 的 参 数 变 量  当 前 函 数 体 内 部  局 部 变 量 高 于 同 名 全 局 变 量  参 数 变 虽 高 于 同 名 全 局 变 量  优 先 级  局 部 变 量 高 于 同 名 参 数 变 量  作 用 域  忽 略 块 级 作 用 域  全 局 变 量 是 全 局 对 象 的 属 性  局 部 变 量 是 调 用 对 象 的 属 性  内 层 函 数 可 访 问 外 层 函 数 局 部 变 量  作 用 域 链  特 性  外 层 函 数 不 能 访 问 内 层 函 数 局 部 变 量  全 局 变 量 除 非 被 显 示 删 除 , 否 则 一 百 存 在  局 部 变 量 自 声 明 起 至 函 数 运 行 完 毕 或 被 显 示 删 除  生 命 周 期  标 记 清 除  回 收 机 制  引 用 计 数
    2.js的数据类型
    jscript 有三种->主要数据类型、两种->复合数据类型和两种->特殊数据类型。
    主要(基本)数据类型
    字符串
    数值
    布尔
    复合(引用)数据类型
    对象
    数组
    特殊数据类型
    Null
    Undefined
    字符串数据类型:字符串数据类型用来表示 JScript 中的文本。在js中,虽然双引号(””)和单引号(”)均可表示字符串,而且它们几乎没有任何区别。但只使用双引号(“”)来表示字符串被认为是最佳的。
    一个字符串值是排在一起的一串零或零以上的 Unicode 字符(字母、数字和标点符号)。
    什么是Unicode?
    Unicode为每个字符都提供了唯一的数值,不管是什么平台、什么程序或什么语言。开发unicode是为了给处理世界上存在的所有字符提供统一的编码。
    数值数据类型
    我们需要明白一点,JScript 内部将所有的数值表示为浮点值,因此,在 Jscript 中整数和浮点值没有差别。
    Boolean数据类型
    布尔(逻辑)只能有两个值:true 或 false。
    js数组和对象
    详情看我这篇文章->javascript学习总结— —数组和对象部分
    Null 数据类型:可以通过给一个变量赋 null 值来清除变量的内容。
    Jscript中 typeof 运算符将报告 null 值为 Object 类型,而非类型 null。
    空 数 组 Uvar Obj = new Array();  指 定 长 度 数 组 yvar Obj = new Array( Size ) ;  指 定 元 素 数 组 yvar Obj = new Array( 元 素 1 , 元 素 2 , “ . , 元 素 N ) ;  var Obj = [ 元 素 1 , 元 素 2 , 元 素 3 , “ . , 元 素 N J;  创 建 方 法  基 本 操 作  数 组 属 性  单 维 数 组  图 例  Var a  多 维 数 组  图 例  元 窒 元  = new A “ ay ( [ 数 组 序 列 1], [ 数 组 序 列 2], [ 数 组 序 列 N ] );  存 取 数 组 元 素  单 维 数 组 . 。 数 组 名 [ 下 标 索 引 l;  多 维 数 组 一 。 数 组 名 [ 外 层 数 组 下 标 ] [ 内 层 元 素 下 标 ]  数 组 长 度 是 弹 性 的 , 可 自 由 伸 缩  数 组 下 标 从 0 开 始  数 值  特 性  下 标 类 型  转 为 字 符 串  非 数 值 生 成 关 联 数 组  下 标 将 作 为 对 象 属 性 的 名 字  增 加 数 组  删 除 数 组  遍 历 数 组  数 组 元 素 可 添 加 到 对 象 中  一 。 使 用 " 冂 “ 运 算 符 指 定 一 个 新 下 标  delete 数 组 名 [ 下 标 ] ;  'for (var 数 组 元 素 变 量 in 数 组 )  引 用 数 组 对 象 的 构 造 函 数  COnStrUCtOr  length . 。 返 回 数 组 的 长 度  。 通 过 增 加 属 性 和 方 法 扩 展 数 组 定 义  prototype  添 加  push() . 一 查 致 组 . 枣 尽 添 加 数 组  unshift() 一 在 数 组 头 部 添 加 元 素  一 . 合 并 两 个 数 组  concat()  p 。 p() 一 翡 打 亲 井 返 藪 宿 的 最 后 一 个 元 素  栈 方 法  后 进 先 出  JavaScript  数 组  队 列 方 法  先 进 先 出  ECMAScript 3 方 法  ECMAScript 5 方 法  删 除  vshift() 。 删 除 并 返 回 数 组 的 第 一 个 元 素  匦 要 删 除 的 起 始 下 标  删 除 任 意 数 量 的 项  到 要 删 除 的 项 数  匦 起 始 下 标  在 指 定 位 置 插 入 指 定 的 项 到 0 ( 不 删 除 任 何 项 )  splice()  @ 要 插 入 的 项  0 起 始 下 标  替 换 任 意 数 量 的 项 到 要 删 除 的 项 数  子 数 组  数 组 排 序  数 组 转 换  位 置 方 法  迭 代 方 法  缩 小 方 法  @ 要 插 入 的 项  丁 从 己 有 数 组 中 选 取 部 分 元 素 构 成 新 数 组  功 能  slice()  参 数  0 返 回 项 的 起 始 位 置  到 返 回 项 的 结 束 位 置  。 颠 倒 数 组 中 元 素 的 顺 序  特 性  如 果 是 负 数 , 则 用 数 组 长 度 加 上 该 值 确 定 位 置  启 示 位 置 实 为 数 组 的 实 际 下 标  结 束 位 置 的 实 际 下 标 为 结 束 数 值 减 飞  功 能 一 。 对 字 符 数 组 或 数 字 数 组 进 行 排 序  默 认 为 按 字 符 串 比 较  so 0  特 性  按 数 值 大 小 比 较  需 函 数 支 持 ( 升 序 )  function  compare(value1,value2){  if (valuel < value2) {  return . 1 ,  } else if (valuel > value2){  return 1 ;  } else {  return 0  tostring() 。 转 换 为 字 符 串 并 返 回  t0Localestring() 一 。 转 换 为 本 地 格 式 字 符 串 并 返 回  join() 。 用 指 定 分 隔 符 分 割 数 组 并 转 换 为 字 符 串  indexOf 广 从 数 组 的 起 始 位 置 开 始 查 找  lastindexOf 从 数 组 的 结 束 位 置 开 始 查 找  如 果 该 函 数 对 每 一 项 都 返 回 true , 则 返 回 true  0 要 查 找 的 项  到 表 示 查 找 起 点 的 位 置 索 引  every  返 回 值 为 true 的 所 有 数 组 成 员  filter  forEach 」 一 无 返 回 值  」 . 返 回 每 次 函 数 调 用 的 结 果 数 组  map  . 「 有 任 意 一 项 返 回 true , 则 返 回 true  Some  」 从 数 组 起 始 位 开 始 遍 历  reduce  」 一 从 数 组 末 尾 开 始 遍 历  reduceRight  接 收 参 数  参 数  传 入 参 数  匦 要 在 每 一 项 上 运 行 的 函 数  1  到 运 行 该 函 数 的 作 用 域 对 象  0 数 组 项 的 值 item  到 该 项 在 数 组 中 的 位 置 index  数 组 对 象 本 身 array  接 收 参 数  传 入 参 数  匦 每 一 项 上 调 用 的 函 数  到 作 为 缩 小 基 础 的 初 始 值  0 前 一 个 值 prev  到 当 前 值 cur  0 项 的 索 引 index  0 数 组 对 象 array)
    另外,这里介绍一种比较重要的数据类型——引用数据类型
    引用数据类型
    javascript引用数据类型是保存在堆内存中的对象,JavaScript不允许直接访问堆内存空间中的位置和操作堆内存空间,只能通过操作对象在栈内存中的引用地址。所以引用类型的数据,在栈内存中保存的实际上是对象在堆内存中的引用地址。通过这个引用地址可以快速查找到保存在堆内存中的对象。
    下面我们来演示这个引用数据类型赋值过程
    栈 内 存  初 始 帏 内 存 中 只 有 jl  Clh_il  引 用 地 址  堆 内 存  @〕 j 已 匚 t  Object  引 〕 ject  Ohj 巴 匚 t  Object  me 属 性  实 际 添 加 在 了 这 里  改 了 堆 内 存 对 家  添 加 囗 bj2 把 北 jl 引 用 地  址 复 # 一 份 给 j 2  objl  囗 \] 2  引 用 地 址  引 厍 地 址  obj 2 添 加 n “ 已 性  objl  囗 32  引 厍 地 最  引 厍 地  添 加
    自然,给obj2添加name属性,实际上是给堆内存中的对象添加了name属性,obj2和obj1在栈内存中保存的只是堆内存对象的引用地址,虽然也是拷贝了一份,但指向的对象却是同一个。故而改变obj2引起了obj1的改变。
    基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置。
    而引用类型值则是指那些保存在堆内存中的对象,即变量中保存的实际上只是一个指针,这个指针指向内存中的另一个位置,该位置保存对象。
    简而言之,堆内存存放引用值,栈内存存放固定类型值。
    JavaScript学习总结(一)基础部分 - 图4
    在 ECMAScript 中,变量可以存在两种类型的值,即原始值和引用值。
    原始值存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。
    <script type=”text/javascript”>
    var box = new Object(); //创建一个引用类型
    var box = “lee”; //基本类型值是字符串
    box.age = 23; //基本类型值添加属性很怪异,因为只有对象才可以添加属性。
    alert(box.age); //不是引用类型,无法输出;

    3.JScript 的运算符
    优先级:指运算符的运算顺序,通俗的说就是先计算哪一部分。
    结合性:同一优先级运算符的计算顺序,通俗的说就是从哪个方向算起,是左到右还是右到左。
    数据类型转换和基本包装类型
    String() 转换为字符串类型
    Number() 转换为数字类型
    Boolean() 转换为布尔类型
    parseInt:将字符串转换为整数。从字符串的开头开始解析,在第一个非整数的位置停止解析,并返回前面读到所有的整数。如果字符串不是以整数开头的,将返回NaN。如:parseInt(“150 hi”)返回的值是:150,parseInt(“hi”)返回的值是:NaN。
    parseFloat:将字符串转换为浮点数。 从字符串的开头开始解析,在第一个非整数的位置停止解析,并返回前面读到所有的整数。如果字符串不是以整数开头的,将返回NaN。如:parseFloat(“15.5 hi”) 返回的值是:15.5,parseFloat(“hi 15.5”)返回的值是:NaN。
    eval:将字符串作为javascript表达式进行计算,并返回执行结果,如果没有结果则返回undefined。
    基本包装类型
    每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而能调用一些方法来操作这些数据。基本包装类型包括Boolean、Number和String
    var box = ‘trigkit4’; //字面量
    box.name = ‘mike’; //无效属性
    box.age = function () { //无效方法
    return 22;
    };
    //new运算符写法
    var box = new String(‘trigkit4’);//new 运算符
    box.name = ‘mike’; //有效属性
    box.age = function () { //有效方法
    return 22;
    };
    String类型包含了三个属性和大量的可用内置方法
    属性 描述
    length :返回字符串的字符长度
    Constructor : 返回创建String对象的函数
    prototype : 通过添加属性和方法扩展字符串定义
    功 能  对 数 字 进 行 代 数 求 和  对 字 符 串 进 行 连 接 操 作  将 一 个 数 值 转 换 成 字 符 串 数 值 十 空 字 符 串  字 符 串 十 字 符 串 二 者 直 接 拼 接  运 算 符  算 术 运 算 符  字 符 串 拼 接  字 符 串 + 数 值 数 佰 转 为 字 符 串 再 拼 接  对 操 作 数 讲 行 > 位 移 操 作 保 留 符 号 位 右 移 1 位 对 其 除 2 , 右 移 2 位 对 具 除 4 , 以 此 类 推 与 有 符 号 右 移 结 果 相 同 正 数 无 符 号 右 侈 > > > 会 出 现 无 限 大 的 数 值 负 数 位 操 作 符 与 等 号 结 合 , 复 合 赋 值 不 会 有 性 能 方 面 的 提 升 复 合 值 运 算 符 条 件 运 算 符 , 简洁 的 ifelse 类 型 判 定 运 算 符 typeof 具 他 运 算 符 逗 号 , 在 一 行 语 句 中 执 行 多 个 不 同 的 操 作 舍 弃 运 算 数 的 值 , 返 回 undefined 作 为 表 达 式 的 值” class=”align-none”>
    4.js流程控制
    对于js流程控制语句,这里只讲几个比较难懂的。其他不赘述。等下附上一张思维导图。
    1.for…in 语句对应于一个对象的每个,或一个数组的每个元素,执行一个或多个语句。
    for (variable in [object | array])
    statements
    参数:
    variable:必选项。一个变量,它可以是 object 的任一属性或 array 的任一元素。
    object, array:可选项。要在其上遍历的对象或数组。
    statement:可选项。相对于 object 的每个属性或 array 的每个元素,都要被执行的一个或多个语句。可以是复合语句。
    虽然条件控制语句(如if语句)只在执行多条语句的情况下才要求使用代码块(左花括号”{“开头,右花括号”}”结尾),但最佳实践是始终使用代码块。
    if(args)
    alert(args);//容易出错
    if(args){
    alert(args);//推荐使用
    }
    while  语 法  流 程  特 性  时 机  whi 《 e ( 条 件 表 达 式 ) {  循 环 执 行 代 码 段  匦 判 断 条 件 表 达 式 的 值  到 当 值 为 true 时 循 环 执 行 代 码 段  湖 当 值 为 f 引 se 时 退 出 循 坏 体  先 检 查 条 件 , 再 执 行 循 环  条 件 不 满 足 则 循 环 一 次 也 不 执 行  一 个 动 作 被 重 复 执 行 到 满 足 某 个 条 件 时  do-while  循 坏 语 句  语 法  流 程  时 机  语 法  流 程  特 性  时 机  do{  循 环 执 行 的 代 码 段  } whi 《 e ( 条 件 表 达 式 ) ;  匦 先 执 行 循 环 体 内 代 码 段 再 进 行 判 断  到 如 果 表 达 式 的 值 为 ue , 贝 刂 車 复 执 行 代 码 段  湖 如 果 表 达 式 的 值 为 se , 则 推 出 循 环 体  先 执 行 循 环 体 , 在 进 行 条 件 判 断  循 环 体 内 代 码 至 少 执 行 一 次  希 望 一 个 动 作 至 少 被 执 行 一 次 时  语 法  for—in  作 用  f 。 r ( 循 环 变 量 = 初 值 ; 循 环 条 件 ; 递 增 / 递 减 计 数 器 ) {  循 环 代 码 段  匦 用 循 环 变 量 初 始 值 与 循 环 条 亻 牛 相 比 较 , 确 定 返 回 值  到 如 果 返 回 值 为 true 则 执 行 循 环 体  河 执 行 完 一 次 后 进 行 递 垢 / 递 减 运 算  0 将 运 算 结 果 与 循 环 条 亻 牛 相 比 较  如 果 返 回 值 为 true 则 继 续 执 行 循 环 体 ,  0  如 果 返 回 值 为 fa 《 se 则 退 出 0 环 体  重 复 一 个 动 作 到 一 定 次 数 时  for ( 声 明 变 量 in 对 象 ) {  代 码 段  枚 举 对 象 属 性  循 环 输 出 的 属 性 顺 序 不 可 预 知  JavaScript 流 程 语 句  注 意 事 项  对 象 的 值 不 能 是 null 或 undefined  终 止 哂 数 体 的 运 行 , 并 返 回 一 个 值  return  终 止 整 个 循 环 , 不 再 进 行 判 断  break  结 束 本 次 循 环 , 接 着 去 判 断 是 否 执 行 下 次 循 坏  continue  跳 转 语 句  if  选 择 语 句  句 法  流 程  特 性  if ( 条 件 表 达 式 1 ) {  代 码 段 1  }else if ( 条 件 表 达 式 2 ) {  代 码 段 2  }else{  代 码 段 3  匦 判 断 条 件 1 , 如 果 返 回 值 为 true 则 执 行 代 码 段 1  到 如 果 条 件 1 的 返 回 值 为 se 贝 刂 跳 过 语 句 块 1 并 检 测 条 件 2  湖 如 果 所 有 表 达 式 的 值 均 为 f 引 se 则 执 行 se 后 面 的 语 句  结 构 复 杂 , 可 嵌 套  可 测 试 多 个 条 件 表 达 式  表 达 式 的 值 具 的 线 性 特 征  表 达 式 的 值 是 动 态 的  适 用 于 任 意 类 型 的 数 据  可 处 理 复 杂 的 逻 辑 关 系  句 法  流 程  switch  格 式  特 性  switch ( 条 件 表 达 式 ) {  case 标 筌 1 :  代 码 段 1 ;  brea k;  default  代 码 段 n ,  匦 计 算 表 达 式 的 值 , 并 与 各 标 签 相 比 较  《 @ 若 找 到 与 之 匹 配 的 标 签 , 则 执 行 其 是 的 代 码 段  @ 若 没 有 找 到 与 之 匹 配 的 标 签 则 直 接 执 行 defau 《 t 之 后 的 代 码 段  case 标 签 为 常 量 , 可 以 是 字 符 串 或 数 字  每 个 标 签 均 以 冒 号 : 结 束  虽 然 break 与 default 为 可 选项, 但 为 了 逻 辑 清 晰 最 好 不 要 省 略  case 标 签 的 值 必 须 和 条 件 表 达 式 的 值 完 全 匹 配  结 构 简 洁 , 专 为 多 車 选 择 设 计  仅 可 测 试 一 条 条 件 表 达 式  表 达 式 的 值 具 有 离 散 性  表 达 式 的 值 是 固 定 的 , 不 会 动 态 变 化 的  仅 能 应 用 整 数 , 枚 举 , 字 符 串 等 类 型 数 据  仅 能 处 理 多 个 枚 举 型 逻 辑 关 系  主 动 抛 出 异 常  throw  指 明 需 要 处 理 的 代 码 段  异 常 处 理 语 句  捕 获 异 常  catch  后 期 处 理
    js流程控制语句思维导图
    5.js函数
    函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
    Jscript 支持两种函数:一类是语言内部的函数,另一类是自己创建的。
    JavaScript 函数允许没有参数(但包含参数的小括号不能省略),也可以向函数传递参数供函数使用。
    更多关于函数的知识请访问我的另一篇文章:javascript学习大总结(四)function函数部分
    对象的组成
    方法——函数:过程、动态的
    属性——变量:状态、静态的
    最后,再附上一张前辈总结的思维导图:
    JavaScript  函 数 基 础  静 态 方 法  定 义 方 法  函 数 名 ( [ 虚 参 列 表 I) {  function  函 数 体 ;  [return[ 函 数 返 回 值 月]  动 态 若 名 方 法 函 数 名 : new Function ( [ " 虚 参 列 表 . l' " 函 数 体 “ ) ;  直 接 量 方 法 一 , . 函 数 名 : function ( [ 虚 参 列 表 ] ) { 函 数 体 丹  直 接 调 用 一 ' . 函 数 名 ( 实 参 列 表 )  在 连 接 中 调 用 n[ 描 文 字 ](javascript : 函 数 名 0)  在 事 件 中 调 用 . 。 事 件 类 型 = " 函 数 名 0 "  调 用 方 法  方 法  定 义  递 归 调 用  格 式  . : . 在 函 数 体 内 部 调 用 函 数 自 身  function 函 数 名 0 {  代 码  函 数 名 0 ;  将 函 数 作 为 对 象 的 方 法 来 调 用  apply 将 参 数 以 数 组 形 式 传 递 给 该 方 法  将 函 数 作 为 对 象 的 方 法 来 调 用  call 了 将 指 定 参 数 传 递 给 该 方 法  . 。 返 回 函 数 的 字 符 串 表 示  toString  arguments 对 象  功 能  特 性  属 性  . 。 存 放 实 参 的 参 数 列 表  仅 能 在 函 数 体 内 使 用  带 有 下 标 属 性 , 但 并 非 数 组  函 数 声 明 时 自 动 初 始 化  length 一 。 获 取 函 数 实 参 的 长 度  callee 一 「 返 回 当 前 正 在 指 向 的 函 数  caler 丁 返 回 调 用 当 前 正 在 执 行 函 数 的 函 数 名  定 义 函 数 时 使 用 的 参 数  函 数 参 数  形 参  1  接 收 调 用 该 函 数 时 传 递 的 参 数  参 数 类 型  实 参 一 。 调 用 函 数 时 传 递 给 函 数 的 实 际 参 数  实 参 < 形 参 .。 多 余 形 参 =undefined  参 数 个 数 没 有 限 制  实 参 > 形 参 . 。 多 余 实 参 被 忽 略  参 数 的 数 据 类 型 没 有 限 制  特 性  通 过 arguments 对 象 访 问 参 数 数 组  基 本 类 型 T 传 值  参 数 始 终 按 值 传 递  引 用 类 型 丁 传 址  」 指 向 当 前 操 作 对 象  this  。 指 向 参 数 集 合 所 属 函 数  callee  指 针 标 识  prototype  constructor  . 。 指 向 函 数 附 带 的 原 型 对 象  。 指 向 创 建 该 对 象 的 构 造 函 数)
    JavaScript学习系列文章目录

    已使用 Microsoft OneNote 2016 创建。