js学习笔记1(变量、作用域、内存)
写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实。
学习书籍:javascript高级程序设计3版。
章节4.1 基本类型和引用类型
1、基本类型在内存中占据固定大小的空间,所以保存在栈内存中。
2、从一个变量向另一个变量复制基本类型的值的时候,会在栈中保存另一个副本。
3、引用类型的值是对象,保存在堆内存中。
4、包含引用类型的值的变量,包含的不是对象本身,而是指向该对象的在堆内存中的位置的指针。
5、确定一个值是哪一种基本类型,可以用typeof。确定一个对象是哪一种引用类型,可以使用instanceof。
4.3 变量的执行环境
每一个变量都存在于一个执行环境中,这个执行环境决定了变量的生命周期。
1、执行环境分为:全局环境和函数环境
2、每次进去一个新执行的环境,都会创建一个用于搜索变量和函数的作用域链
3、函数的局部环境不仅有权访问函数作用域中的变量,而且有权访问包括父环境,和全局环境。
4、全局环境中的变量只能访问全局环境中定义的函数和变量,不能访问局部环境中的任何数据。
5、一旦数据不再被使用,可以将其的值设置为null,来释放引用。
6、解除引用并不代表会收回数据所占的内存,而是让值脱离执行环境,在下一次垃圾运行机制执行的时候将其收回。
章节5 引用类型
1、引用类型的值(对象)是引用类型的一个实例。引用类型有时候也被称为对象定义,描述一类对象所具有的属性和方法。
2、对象是某个特定引用类型的实例,新对象,由new 后跟一个构造函数来创建 var person = new objec(); 等价于:var person = {};
5.1 object的类型
1、创建object实例的方式有两种:第一种是 new 一个构造函数;
第二种是使用对象字面量表示法。对象字面量是对象定义的一种简写的形式,目的在于简化创建含有大量属性的对象的过程。
var person = {name:"sheena",age:18};
5.2 array的类型
var colors = new Array("red","blue","yellow");
5.3 转换方法
valueOf(); toString(); toLocalString();
5.4 排序
sort();比较
reverse();反过来排列
var count = [5,7,2,4,9];count.sort();alert(count);
js学习笔记1(变量、作用域、内存)的更多相关文章
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- python3学习笔记12(变量作用域)
变量作用域 参考http://www.runoob.com/python3/python3-function.html Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量 ...
- Python 3 学习笔记之——变量作用域、模块和包
1. 变量作用域 Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的.变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称.Python 的作用域一共 ...
- 《JavaScript 高级程序设计》读书笔记四 变量 作用域 内存
一 变量(基本类型和引用类型) a.基本类型保存值,保存在栈内存,引用类型保存指针,保存在堆内存: b.所有函数的参数都是按值进行传递的,不管参数是何种类型: c.检测类型 typeof ...
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
- 2019-4-29 js学习笔记
js学习笔记一:js数据类型 1:基本数据类型 number类型(整数,小数) String类型 boolean类型 NaN类型其实是一个nu ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
- Node.js学习笔记(2):基本模块
Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...
- JUC学习笔记——共享模型之内存
JUC学习笔记--共享模型之内存 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的内存部分 我们会分为以下几部分进行介绍: Java内存模型 可见性 模式之两阶段终止 模式之Balk ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- 微信小程序 view 布局
刚看到这个效果的时候还真是和ReactNative的效果一致,属性也基本的一样. view这个组件就是一个视图组件使用起来非常简单. 主要属性: flex-direction: 主要两个特性”row” ...
- unity3d面试题与参考答案
1.C#程序题 1 2 3 4 5 6 7 8 9 10 11 private static void aaa(int x) { x = 10; } private static void bbb ...
- 网页或WEB应用或PC端浏览器调用百度地图API
今天在写微网页中遇见了调用百度地图这个问题:在一个容器中显示地图信息如图(设计图截图) 然后在网上查了接口:http://api.map.baidu.com/,就是这个东东,当然不止这个,还有几个必选 ...
- 【BZOJ1408】[Noi2002]Robot DP+数学
[BZOJ1408][Noi2002]Robot Description Input Output Sample Input 3 2 1 3 2 5 1 Sample Output 8 6 75 HI ...
- 基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能
提出问题 EasyNVR是一套摄像机无插件直播的流媒体服务器软件,他可以接入各种各样的摄像机,再经过转化统一输出无插件化直播的RTMP.HLS.HTTP-FLV流,同时,EasyNVR为了数据安全,提 ...
- Xamarin.Forms学习之Page Navigation(一)
在最初接触Xamarin.Forms的时候,我是跟着Xamarin官方的名为“learning-xamarin-ebook”的pdf文档进行学习的,我在成功运行Hello world程序之后,我开始跟 ...
- 关于Apache Shiro权限框架的一些使用误区的解释
多了不说了,进入正题,shiro是个权限框架提供权限管理等功能,网上的教程一般都是互相抄,比如<shiro:principal property="xxx"/>这个标签 ...
- iOS 成员变量和属性的区别
一. 成员变量 1.成员变量的作用范围: @public:在任何地方都能直接访问对象的成员变量 @private:只能在当前类的对象方法中直接访问,如果子类要访问需要调用父类的get/set方法 @p ...
- style="display:{{searchInput==='' ? 'none':'block'}} "
当用户没有有效输入时,是否显示提交按钮 style="display:{{searchInput==='' ? 'none':'block'}} "
- android 手机设置铃声
和应用程序相比,普通用户在初初接触智能手机时最先反而会对多媒体功能产生兴趣,尤其是铃声.壁纸设定之类个性化功能,更是让不少追求时尚的年轻人乐此不疲.对于Android手机来说,其铃声.图片的个性化空间 ...