这个题目见过很多次了

var x = 10;
var foo = {
x: 20,
bar: function() {
var x = 30;
return this.x;
}
}; alert(foo.bar());
alert((foo.bar)());
alert((foo.bar = foo.bar)());
alert((foo.bar, foo.bar)());

在开始前,在console中输入
a = 1 ;
b = 2;
(a, b);
将直接显示2 这表明逗号运算符直接返回后面一个表达式计算结果

再看
a = b 以及 (a = b)
输出2 表示赋值运算符返回赋值后结果
这里相当于定义了一个 tmp = foo.bar() 然后tmp()

但是 a.b() (a.b)() 看起来他们很不同 一个a对象调用了b() 第二个好像是函数运算
实际上由于 a.b 这个表达式没有作什么运算 编译器会去掉一层括号 当做 a.b()来运算

所以这里前两个的结果肯定是相同的 后两个也是  此题的结果是 20 20 10 10

你可能会问啦 为什么后面的提示的值不是20 却是10
因为后面两个是函数表达式 你可以认为是匿名函数
他们相当于

(function(){
var x = 30;
console.log(this.x); //
return this.x;
})();

关于This的经典题目的更多相关文章

  1. 学习心得:《十个利用矩阵乘法解决的经典题目》from Matrix67

    本文来自:http://www.matrix67.com/blog/archives/tag/poj大牛的博文学习学习 节选如下部分:矩阵乘法的两个重要性质:一,矩阵乘法不满足交换律:二,矩阵乘法满足 ...

  2. 【转】Matrix67:十个利用矩阵乘法解决的经典题目

    好像目前还没有这方面题目的总结.这几天连续看到四个问这类题目的人,今天在这里简单写一下.这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质.    不要以为数学中的矩阵也是黑色屏幕上不断变化的 ...

  3. DP---基本思想 具体实现 经典题目 POJ1160 POJ1037

    POJ1160, post office.动态规划的经典题目.呃,又是经典题目,DP部分的经典题目怎就这么多.木有办法,事实就这样. 求:在村庄内建邮局,要使村庄到邮局的距离和最小. 设有m个村庄,分 ...

  4. [leetcode]53Maximum Subarray动态规划经典题目:最大子串问题

    /** * Find the contiguous subarray within an array (containing at least one number) * which has the ...

  5. java经典题目

    /***********Ryear.java begin********************/ import java.util.Scanner;public class Ryear { /** ...

  6. (BruteForce)暴力破解经典题目总结

    在算法竞赛中,很多问题是来不及用数学公式推导出来的.或者说根本就找不到数学规律,这时我们就需要使用枚举来暴力破解. 不过枚举也是需要脑子的,一味的暴力只能超时.因此我这里选择了几道mooc上经典的题目 ...

  7. 10.22~10.28一周经典题目整理(meeting,BZOJ4377,POJ3659)

    meeting:给正n边形每个点染上黑色或者白色,问有多少个同色的等腰三角形. 以正五边形为例这里将最上面的点作为顶点,得到若干对相等的腰 ,注意到以最上面的点作为顶点的等腰三角形的个数,等于颜色相等 ...

  8. mysql 经典题目

    题目1:实现如下效果 CREATE TABLE IF NOT EXISTS tb_amount( `Id` INT NOT NULL AUTO_INCREMENT, `), `), `Amount` ...

  9. java经典题目练习-第八题简单实现方式...

    *[程序8]*题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.* 例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 思考: 对于以上 ...

  10. C++经典题目:有n个人围成一圈,顺序排号,然后数数进行淘汰的解法和一些思考

    问题描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号. 分析: 首先由用户输入人数n,然后对这n个人进行编号[因为如果不编号的话 ...

随机推荐

  1. IOS app启动过程

    1.main函数   2.UIApplicationMain * 创建UIApplication对象 * 创建UIApplication的delegate对象   3.delegate对象开始处理(监 ...

  2. C++ ASCII 码的一些问题

    关于ASCII码和转义字符的对应问题,一直都有个困惑.所以今天校验了一下是什么情况. 转义字符的百度百科:http://baike.baidu.com/link?url=D9ytjAeiYr1ZGKG ...

  3. JavaWeb核心编程之使用Eclipse开发JavaWEB项目

    文章目录 1.eclipse切换到javaee项目 2.创建服务器(如果没有server选项, 怎么做) 3.定制新建面板内容 4.创建动态web工程 1.eclipse切换到javaee项目 如图 ...

  4. C语言struct类型

    在实际问题中,一组数据往往具有不同的数据类型.例如, 在学生登记表中,姓名应为字符型:学号可为整型或字符型: 年龄应为整型:性别应为字符型:成绩可为整型或实型. 显然不能用一个数组来存放这一组数据. ...

  5. OSG显示文字——自定义显示文字函数

    #include <Windows.h> #include <osg/Geode> #include <osg/Geometry> #include <osg ...

  6. 帝国cms留言表模板修改

    <form action="../../enews/index.php" method="post" name="form1" id= ...

  7. Mirror–使用证书配置镜像模板

    –==================================================================–该文档主要用于内部配置模板–场景:–主服务器:192.168.3 ...

  8. MFC DLL资源动态切换

    在MFC使用过程中,遇到DLL资源与主EXE资源冲突问题. 出现这样的Bug,一时无从下手. 报错位置在核心代码中dlgcore.cpp. [cpp] view plaincopy BOOL AFXA ...

  9. Problem 2128 最长子串(kmp+strstr好题经典)

     Problem 2128 最长子串 Accept: 134    Submit: 523Time Limit: 3000 mSec    Memory Limit : 65536 KB  Probl ...

  10. Image editing techniques and algorithms using Qt

    费了好半天劲先翻译这一点.还有好多地方不明白.先弄明白这一点.继续以后的翻译. 这一篇文章我们将讨论不同的技术和算法来修改图像使用Qt.但是在这之前我们继续你必须知道一些原则处理图片. 这里主要有两种 ...