this
算是javascript
中又爱又恨的东西了. 其实this
的概念并没有多少, 本文将把this
的概念用示例梳理一次.
最基本的this
概念
指向globe
的this
1 | //浏览器内 落单的this, 普通调用的函数中的this 都指向windows对像; |
对像属性函数中的this
指向父对像
1 | function This(){ |
构建函数中的this
指向实例化对像
1 | function C(name){ |
call
, apply
改变this指向
1 | function D(){ |
bind
方法会生成一个绑定了this的新函数
1 | var D = function(){ |
箭头函数 this指向不变
1 | //箭头函数中的this指上下文的this, 无法用 call/apply 和 bind改变; |
实用 示例
类型判断
1
2
3function getType(obj){
return Object.prototype.toString.call(obj).slice(8,-1).toLowerCase();
};arguments 转 array
1
2
3function fn(){
var args = [].slice.call(arguments,0)
}