【学习笔记】先行者课程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、对象、词法分析。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php实现微信公众号企业转账功能
- 实例分析10个PHP常见安全问题
- laravel清除视图缓存的代码
- Smarty模板类内部原理实例分析
- laravel框架与其他框架的详细对比
- ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写办法
- PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
- PHP实现简单登录界面
- PHP创建XML接口示例
- PHP设计模式之单例模式入门与应用详解
- Laravel框架实现定时Task Scheduling例子
- PHP使用 Pear 进行安装和卸载包的方法详解
- Laravel5.1框架注册中间件的三种场景详解
- 浅谈laravel数据库查询返回的数据形式
- PHP设计模式之策略模式(Strategy)入门与应用案例详解