专栏首页web前端教室【学习笔记】先行者课程0109-rotate3d_变量、堆、栈

【学习笔记】先行者课程0109-rotate3d_变量、堆、栈

一,通过一个小例子,来学习一下css3 3d变换;

二,开始讲js,先从js变量开始说起,

说一下js的变量与内存中的栈的关系,

还有数据的“值传递”、“引用传递”;

<!-- -->

rotateX,rotateY

// rotate [ˈroʊteɪt]

--定义沿 X 轴的 3D 旋转。

--定义沿 Y 轴的 3D 旋转。

<!-- -->

JavaScript 是脚本语言,

它是在浏览器中运行的,是一行一行往下读取,

如果某一行有bug,那么整个js将停止运行。

js语言它的官方名称:ECMA-262,是它的官方标准名称。

<!-- -->

变量,一般学js,都是先从它开始学起,

声明变量,使用var关键字,

var xx = 123;

xx这个变量,它就是个抽象概念上的容器,

它里面保存的数据,是123

<!-- -->

在js当中,有五种基本类型:

Undefined , Null , Boolean , Number , String,

它们都是直接保存的“值”。

与之相对应的是“引用类型”,典型的就是function,函数。

<!-- -->

var aa = 123;

这是我们声明一个变量aa,

我们在访问的时候,是直接在访问它的栈中的值。

变量的值,是不可以改变的。每次你修改了某个变量的值,

其实都是在内存当中重新“开了”一片内存空间,

然后把原来的变量,指向了新的这个内存的空间的地址。

<!-- -->

var abc = function(){
 this.a = 123;
 this.b = 456;
 this.c = [{},{},{}...{}]
 ...
 ..
}

这是一个名为abc的函数,它里面可以保存很多的值。

也就是说,函数的值的大小是不固定的,所以只能按引用访问。

所以不能直接把“引用类型”的值,直接放在栈内存里。

所以,引用类型里所保存的值,只能放在堆内存中,

然后在栈中放着的是,访问堆内存的地址。

然后,当我们想要在引用类型中获取数据的时候,

1、先从栈中获取地址;

2、根据地址,从堆中获取对应的值。

这叫什么?

“按引用访问”

这节课的内容,涉及到js内存中的堆和栈,没有办法演示,

所以没有对应的demo。

这节内容就这样,

下一节讲 function、对象、词法分析。

本文分享自微信公众号 - web前端教室(webfeel),作者:老尚

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-01-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 有同学问了我一个很多前端都在担忧的问题

    如图,这是今天一个先行者计划的成员,在同我聊天的时候提到的问题。这个问题确实是客观存在的,前端变化快,一会今天这个了,一会明天又那个了。 “我都有点动摇了,我原...

    web前端教室
  • [2018/08/27期]学生们今天结课了,今天这篇文章是写给你们的

    前端这个行业日渐火爆,以后还将继续火爆,许多新人、零基础、转行的人不断进入。他们都有一个共同的问题,那就是“如何提问?”

    web前端教室
  • 对于零基础同学来讲,javascript有多难掌握?

    你是零基础,那么你用什么方式,可以快速的实现js的运用自如呢? Javascript是一门脚本语言,它没有复杂的内存管理,只有一个进程,变量随便什么都可以储存...

    web前端教室
  • 八:JS Tree Shaking

    是的,在webpack v4中,不再需要配置UglifyjsWebpackPlugin。(详情请见:文档) 取而代之的是,更加方便的配置方法。

    心谭博客
  • Next.js入门教程 原

    参考代码:https://github.com/chkui/nextjs-getting-started 。

    随风溜达的向日葵
  • IMVC(同构 MVC)的前端实践

    导语 随着 Backbone 等老牌框架的逐渐衰退,前端 MVC 发展缓慢,有逐渐被 MVVM/Flux 所取代的趋势。 然而,纵观近几年的发展,可以发现一点,...

    CSDN技术头条
  • 干货 | IMVC(同构 MVC)的前端实践

    作者简介 古映杰,携程度假研发部前端和 node.js 架构负责人。开源库 react-lite 作者。本文来自古映杰在“携程技术沙龙——新一代前端技术实践”上...

    携程技术
  • 原来C语言和其他高级语言的最大的区别是这个...

    我们需要知道——变量,其实是内存地址的一个抽像名字罢了。在静态编译的程序中,所有的变量名都会在编译时被转成内存地址。机器是不知道我们取的名字的,只知道地址。

    老九君
  • PHP 配合JSmin库进行压缩前端JS代码进行合并访问,减少前端访问请求。

    Eller
  • 传统电商做小程序的好处,拒绝盲目跟风

    ​​​2018年小程序的发展速度加快,越来越多的行业加入小程序的行列,用小程序开启了新的发展。

    场景录小程序

扫码关注云+社区

领取腾讯云代金券