-
Javascript特殊字符:https://msdn.microsoft.com/library/2yfce773查看全部
-
1.函数声明 function fun(a,b){return ...;} 2.函数表达式 var f=function(a,b){} (function(){})(); return function(){}; var f=function f(a,b){}; 3.声明会被前置,所以函数声明会被前置,函数表达式前置变量声明 4.函数构造器 var func=new Function('a','b','console.log(a+b);'); 5.函数构造器所创建的变量是局部的,只能使用全局变量查看全部
-
1.函数也是对象 2.函数是一块javascript代码,定义一次,多次执行调用 3.函数名 参数列表 函数体 默认return undefined this arguments 作用域 调用方法 创建方法 直接调用 fun(); 对象方法o.method(); 构造器new Fun(); 特殊 apply/call/bind查看全部
-
bind方法模拟 绑定this、颗粒化 没有bind方法话使用PPT中的替代(IE9+以及firefox,chrome才会有) 大致的过程是模拟了bind 方法中this对象的修改以及原型链的修改查看全部
-
new func(); //{b:100} 由于函数定义的返回是this.a,而由于除非return 的是对象,否则返回的是this. 并且this 会被初始化为一个空对象,这个空对象原型是foo.propotype。 换句话说new 使得 .bing()的作用会被忽略掉。 因此返回了foo.propotype对象,而且由于指定了foo.propotype的b属性,因此输出了foo {b: 100}查看全部
-
使用.bind() 方法可以预先固定好一些参数,类似于给它们传递了默认值。 剩下某些可变的参数可以在不同的情况下传不同的值。 这样让代码更加地清晰,可以更加方便地重用。查看全部
-
.bind() 方法的函数颗粒化: function add(a,b,c){ return a+b+c; } var func = add.bind(undefined,100); // 不需要改变this 的指向,可以传个 undefined 进去,而外的参数100 // 绑定在形参 a 上 func(1,2); // 103 var func2 = func.bind(undefined,200); //func 的a 已绑定了100,所以形参是b,c,此次传的200绑定在b上 func2(10): //310查看全部
-
bind方法 不同的调用方法下,this 指向不同的值 module.getX(); //this 指向module,返回 81 var getX = module.getX; getX(); // this 指向 全局变量,返回9 var boundGetX = getX.bind(module); boundGetX(); // this 被 bind 向 module,返回81查看全部
-
严格模式下 foo.apply(null); // undefined, undefined,null foo.apply(undefined); // undefined,undefined,undefined 非严格模式则最后一个(即 this )的返回值都是 window查看全部
-
.call() .apply() 方法查看全部
-
foo.name - 函数名 foo.length - 形参个数 arguments.length - 实参个数 arguments是一个类数组的对象,其原型并不是 Array.propotype,并没有join、slice等数组对象的方法 如果对应的参数没有传进来,arguments与参数并没有绑定关系 严格模式下,arguments 与 参数没有绑定关系查看全部
-
全局的this===window 一般函数的this===window 如果是"user strict"那么this ===undefined (常用)作为对象方法 将函数作为对象的方法,那么this就会指向对象 对象原型链上的this: 出现在原型链的上的变量可以访问 get/set方法与this: get/set方法中的this,会指向当前的对象 构造器中的this: new 方法构造,this会指向原型链上 call/apply方法与this call 与apply就是指定你想设置为this 的对象,等于拥有了其属性和方法 bind方法与this(IE9+)查看全部
-
创建对象--new/原型链查看全部
-
对象的属性查看全部
-
对比函数声明、函数表达式、函数构造器 前置:函数的声明和变量的声明前置使得可以在声明之前调用 允许匿名:函数声明是不能匿名 立即调用:由于函数声明会被前置,因此不能立即调用 通过函数表达式 赋值的对象访问较为妥当,而命名函数表达式不常用查看全部
举报
0/150
提交
取消