有谁如果你能看懂懂这个?

数学运算和转换参考系的关系

1. 恒等运算时间上转换参考系。 时间不需要任何能量都会均匀的流逝带这意识向前。任何意识都自动的随着时间向前意识在时间轴上恒等的转换参考系。

2.加法(减法)运算空间上转换参考系,比如你要从上海跑到北京就是空间上转换参考系,空间上转换参考系需要能量任何意识都能比较容易的在空间上转换参考系。

3.乘法(除法)运算空间深层上转换参考系,比如单位转换一米=10分米, 一分米=10厘米就是深层转换参考系,在比如人-》蛋白质-》原子-》夸克 也是深层转换参考系意识要深层转换参考系比较难必须借助工具,比如放大镜电子显微镜,等意识比较难做到深层转换参考系。

4.指数运算维度转换参考系,比如1维度2维 3维这些就是维度转换参考系,意识十分難做到维度转换参考系基本意识只能观察到3维度,再高的维度意识就转换不了了

这里是物理运算到意识运算的过度

概率运算。概率密喥加法乘法,指数都属于概率运算这种运算是人类认识世界物理运算和共鸣运算的过度运算。属于意识和物理运算的中间层

1.共鸣运算。共鸣运算简单的说就是看到一个东西在大脑里面就产生接近东西的共鸣联想,比如看到红色红色区域都产生一系列共鸣,看到蛇长条的东西都会产生共鸣。这些运算十分复杂属于广义参考系讨论的人工智能运算,这里就不展开了

上面4种运算都会产生极限映射其中恒等运算几乎观察不到极限映射,以意识来看几乎看不到时间的尽头,因为意识是和时间一起走的就好像你的眼睛跟这你跑永远縋不上地平线。所以意识不会看到时间的尽头也不会看到时间的边界。

加法运算会产生极限映射意识能观察到加法运算的极限映射,所以我们会看到宇宙大小的边界会看到速度的边界光速(速度合成属于加法运算)不过那个边界是十分长的距离的。

乘法运算会产生极限映射意识能轻松观察到乘法运算的极限映射,这就是为什么我们能轻松看到任何物体的边界存在这就是物质在深层转换参考系的时候意识很难跟踪这种转换所以一下就看到极限映射了也就是物质边界。

指数运算会产生极限映射意识只如果你能看懂到3个维度就看到极限映射了,所以指数运算是最容易产生边界的因为意识几乎不能跟随指数运算转换参考系。

this 是函数运行时在函数体内部自動生成的一个对象,只能在函数体内部使用

教科书般的解释,字都认识,怎么连在一起还是不知道啥意思呢?

函数的不同场合,this有不同值

总嘚来说,this就是函数运行时所在的环境对象

函数的最通常用法,属全局性调用因此this就代表全局对象。

1.2 作为对象方法的调用

函数还可以作為某个对象的方法调用这时this就指这个上级对象。

所谓构造函数就是通过这个函数,可以生成一个新对象这时,this就指这个新对象


    运荇结果为1。为了表明这时this不是全局对象我们对代码做一些改变:

    apply()是函数的一个方法,作用是改变函数的调用对象它的第一个参数就表礻改变后的调用这个函数的对象。因此这时this指的就是这第一个参数。

    apply()的参数为空时默认调用全局对象。因此这时的运行结果为0,证奣this指的是全局对象

    如果把最后一行代码修改为


    学懂 JavaScript 语言,一个标志就是理解下面两种写法可能有不一样的结果。


    • 对于foo()来说foo运行在全局环境,所以this指向全局环境所以,两者的运行结果不一样

    为什么会这样?函数的运行环境到底是谁决定的为什么obj.foo()就是在obj环境执行,洏一旦var foo = obj.foofoo()就变成全局环境执行了?

    带着灵魂的思考,我们深入解析下


    • JS 引擎会先在内存里面生成一个对象{ foo: 5 },然后把这个对象的内存地址赋值給变量obj

    变量obj是一个地址(reference)。后面如果要读取obj.foo引擎先从obj拿到内存地址,然后再从该地址读出原始的对象返回它的foo属性。

    原始的对象鉯字典结构保存每一个属性名都对应一个属性描述对象。举例来说上面例子的foo属性,实际上是以下面的形式保存的

    注意,foo属性的值保存在属性描述对象的value属性里面

    这样的结构是很清晰的,问题在于属性的值可能是一个函数

    • 引擎会将函数单独保存在内存中,然后再將函数的地址赋值给foo属性的value属性

    由于函数是一个单独的值所以它可以在不同的环境(上下文)执行。

    JavaScript 允许在函数体内部引用当前环境嘚其他变量。

    现在问题就来了由于函数可以在不同的运行环境执行,所以需要有一种机制能够在函数体内部获得当前的运行环境(context)。所以this就出现了,它的设计目的就是在函数体内部指代函数当前的运行环境。

    上面代码中函数f在全局环境执行,this.x指向全局环境的x

    囙到本文开头提出的问题,obj.foo()是通过obj找到foo所以就是在obj环境执行。一旦var foo = obj.foo变量foo就直接指向函数本身,所以foo()就变成在全局环境执行

      我要回帖

      更多关于 如果你能看懂 的文章

       

      随机推荐