欢迎光临散文网 会员登陆 & 注册

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

2023-07-11 22:02 作者:李詩茗  | 我要投稿

函数

1 定义和调用函数

  • 函数定义(又称函数声明、函数语句)形如function name(parameterlist) { statements },其中parameterlist是逗号分隔的参数列表。return语句可以返回值。数据类型传参采用传值,对对象(包括Array)属性的修改会对外部可见。
  • 函数表达式与函数声明形式类似,但作为语句的一个部分,其中name可选。也可以通过Function构造函数从字符串里构造出函数。函数表达式不会提前。
  • 方法是一种作为对象属性的函数。
  • ES6支持默认形参,以及...name的方式声明剩余形参,其中name是存放额外参数的数组。
  • 注意:函数声明会被提前。函数表达式赋值的对象会被提前,但其值为undefined
  • 函数调用语法和其他语言一样,可以递归。函数本身也是对象,可以通过apply方法或call方法调用。

2 作用域和函数栈

  • 在函数内,可以访问函数内定义的变量(及函数)以及父函数所能访问到的变量(及函数),但不能访问到子函数的变量(及函数)。
  • 在函数内部,可以通过arguments.callee引用自己,也可以通过arguments[index]arguments.length获取参数及其个数。注意:arguments不是数组。函数调用提供的参数和函数声明提供的参数数目不一致,提供少了的参数是默认参数或(没默认参数)undefined,提供多了的参数可以通过arguments访问。

3 嵌套函数和闭包

  • 嵌套函数会形成闭包,闭包内引用的外层作用域的变量会被保留,直到该闭包销毁。闭包按引用捕获外层变量。
  • 注意:内层作用域会屏蔽外层作用域的同名变量。闭包不捕获this,闭包中的this变量为其调用者而非创建者。对于普通函数this是(构造函数)一个全新的对象或(strict模式的函数调用)undefined或(以对象方法的形式调用)原始对象。

4 箭头函数

  • 语法形式如(parameters, ...) => { statements }或者(parameters, ...) => expression创建一个箭头函数。当形参个数为1个时,可省略括号,支持默认形参和剩余形参。箭头函数没有自己的thisargumentssupernew.target
  • 注意:箭头函数捕获this,箭头函数中的this变量为其创建者而非调用者。

5 预定义函数

  • eval:执行字符串中的JS代码;isFiniteisNan:判断是否是有限数字和NaN;parseFloatparseInt:解析字符串返回数字,parseInt还可以选择基数;encodeURIdecodeURI:将URI中的某些字符(不改变URI本身的地址)转换为转义字符,和转换回去;encodeURIComponentdecodeURIComponent:将整个URI的某些字符转换为转义字符,和转换回去。

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip的评论 (共 条)

分享到微博请遵守国家法律