Skip to content

Latest commit

 

History

History
32 lines (22 loc) · 1.13 KB

File metadata and controls

32 lines (22 loc) · 1.13 KB

函数调用

  1. 作为函数调用
  2. 作为方法调用
  3. 作为构造函数调用
  4. 使用call和apply方法间接调用

方法就是函数作为一个对象的属性,方法和函数的本质区别就是调用上下文,作为方法调用都会隐式引用一个实参,这个实参就是调用这个方法的母体,在不是作为方法调用的函数中,this指向全局对象或undefined。

构造函数没有返回值,或者返回一个原始值,都会返回自己创建的对象

函数参数类型检查的意义

宁愿程序在传入非法值时报错,也不愿非法值导致程序在执行时报错,相比而言,逻辑执行时的报错信息不甚清晰且更难处理。 当传入值的类型不对时,应该使用throw报错

函数的作用域链是在函数定义的时候创建的

闭包在外部函数里,是无法访问this的, 可以声明一个变量保存

var self = this;

闭包使用的arguments是自身的,而不是外部函数的 同样可以声明一个变量保存

var outerArguments = arguments;

apply方法的第二个参数除了数组还可以是类数组对象