-
apply/call方法(浏览器)--严格模式下查看全部
-
apply/call方法(浏览器)--非严格模式下 function foo(x,y){console.log(x,y,this);} foo.call(100,1,2);//1 2 Number {[[PrimitiveValue]]: 100} foo.apply(true,[3,4]);//3 4 Boolean {[[PrimitiveValue]]: true} foo.apply(null);//undefined undefined Window foo.apply(undefined);//undefined undefined Window查看全部
-
函数属性 & arguments fo.name---函数名 foo.length—形参个数 arguments.length---实参个数 严格模式和非严格模式比较查看全部
-
bind方法与this---ESM5提供,IE9+及以上支持查看全部
-
call/apply方法与this(这些方法能修改this)查看全部
-
构造器中的this 1、 MyClass();--正常调用,this指向全局变量(浏览器中指向window) new MyClass();---作为构造器调用,this指向原型为MyClass.prototype空对象 function MyClass(){ this.a = 37; }//此处默认返回this var o = new MyClass(); console.log(o.a);//37 2、 new MyClass();作为构造器调用,this指向原型为MyClass.prototype空对象; MyClass中没有写返回值,或者返回的是基本类型,会把this作为返回值;如果返回值是对象的话,会把对象作为返回值 function C2(){ this.a = 37; return {a:38}; } O = new C2(); console.log(o.a);//38查看全部
-
get/set方法与this查看全部
-
对象原型链上的this查看全部
-
作为对象方法的函数this /*this指向o*/ 1、 var o = { prop :37, f:function(){ return this.prop; } }; 2、var o = {prop:37}; function independent(){ return this.prop; } o.f = independent; console.log(o.f()); 备注:this指向o,与函数创建方式没有关系,只需用对象o的方法调用函数查看全部
-
一般函数的this(浏览器): function a(){return this;} console.log(a() === window);//true查看全部
-
全局的this(浏览器): 一般执行全局对象(window) console.log(this.document === document);//true console.log(this.window === window);//true this.a = 37;//37 console.log(window.a);//37查看全部
-
函数创建的不同方式函数声明、函数表达式和函数构造器比较查看全部
-
Function构造器1查看全部
-
命名函数表达式(NFE)、IE8及以下与IE9及以上表现不一致---了解即可查看全部
-
变量与函数的声明前置,但是函数表达式在运行阶段才会创建函数对象的 1、 function add(a,b); function add(a,b){ …. } 2、var add; var add = function(a,b){ … }查看全部
举报
0/150
提交
取消