2016-09-19 曹强
this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, javascript function test(){ this.x = 1; } 随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。 more 下面分四种情况,详细讨论this的用法。 情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 请看下面这段代码,它的运行结果是1。 javascript function test(){ this.x = 1; alert(this.x) 继续阅读 »
2014-06-01 W.Y.
本文译自 Dmitry A. Soshnikov 的文章 ECMA-262-3 in detail. Chapter 3. This. 翻译过程参考了现有的中文翻译,学习 ECMAScript 是一个非常抽象的过程,因为很多概念都是通过抽象的方式来解释的,作者尝试尽量用一些简单的方式并使用了一些具体图表,来使我们的学习曲线稍微平稳一点。 概述 本文将讨论和执行上下文密切相关的更多细节 - this 关键字。 实践证明,这个主题很难,在不同的执行上下文中确定 this 的值经常会发生问题。 许多程序员习惯性地讲 this 和面向对象编程密切联系在一起,this 指向了构造函数中新创建的对象。在 ECMAScript 中,这样 继续阅读 »
2016-12-30 Oliver Wang
其实这篇文章主要是介绍这个东西 Proposal Bind Operator 或者 bind_operator。 也是在一个很偶然的机会看到了,git 上面的一个项目用到了这个用法,为什么自己发现不了这些东西呢? 传统的 this 绑定 在函数外面暂存一个变量 js // 别名 var self = this; setTimeout(function() { this.doSomething(); }, 1000); 使用 bind 函数 & 箭头函数 在使用 class *** extends React.Component {} 的写法声明 React 组件的时候,组件的方法都不会被自动绑定 this 了,下面 继续阅读 »
2015-06-12 浩阳
content {:toc} 本文为慕课网 JavaScript深入浅出 JavaScript 中的 this笔记。 全局的 this 全局 this 一般指向全局对象,浏览器中的全局对象就是 window。 继续阅读 »
2015-08-09 Lim Geng
通过绑定规则来确定this的绑定对象。 默认绑定 默认绑定规则看作是无法应用其他规则时的规则, 独立函数调用是最常用的函数调用方式。比如: ``` function foo() { console.log( this.a ); } var a = 2; foo(); // 2 ``` 此时foo在调用的时候是默认绑定,因为没有指定上下文,所以默认上下文 是window,而var a = 2;这句意思是给window添加了一个a属性,并赋值为2, 所以会打印2。 如果使用严格模式(strict mode),那么全局对象将无法使用默认绑定,因为 this会绑定到undefined. 隐式绑定 另一条需要考虑的规则是调 继续阅读 »
2016-10-12 曹强
this的指向大概可以分成四种: * 作为对象的方法调用 * 作为普通函数调用 * 构造器调用 * Function.prototype.call或Function.prototype.apply调用 1. 作为对象的时候,this指向该对象 var obj = { a: 1, getA: function() { alert(this === obj); //true; alert(this.a); //1 } }; obj.getA(); 2. 作为普通函数调用,this总是指向全局对象(在浏览器中就是window) window.name = 'global 继续阅读 »
2015-01-01 Brian Li
this关键字在java中,通常都是指“这个对象”或者“当前对象”的含义,它本身表示对当前对象的引用。 this的由来 那为什么会有这个关键字呢? 来看下Think in Java中对this的描述,如果有同一类型的两个对象,分别是a和b。你可能想知道,如何才能让过这两个对象都能调用peel()方法呢: 继续阅读 »
2015-09-09 Jason Liao
function 里的 this 在不同的时候,会有不同的表现,一般会有以下四种情况 Invocation as a function Invocation as a method Invocation as a constructor Invocatuon with the apply() and call() method 继续阅读 »
2014-12-18 MoreFreeze
How to install Freshman theme? please make sure you have already installed git tools and ruby tools(gem) $ gem install sass $ gem install jekyll $ git clone https://github.com/yulijia/freshman21.git 继续阅读 »
2015-11-23 Jason Liao
看了 Lea Verou 在 CSSConf 2015 上面的演讲 The Miss Slice 后觉得很兴奋,又一次感受到了 CSS 的强大之处 继续阅读 »