写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实。

学习书籍: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(变量、作用域、内存)的更多相关文章

  1. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  2. python3学习笔记12(变量作用域)

    变量作用域 参考http://www.runoob.com/python3/python3-function.html Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量 ...

  3. Python 3 学习笔记之——变量作用域、模块和包

    1. 变量作用域 Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的.变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称.Python 的作用域一共 ...

  4. 《JavaScript 高级程序设计》读书笔记四 变量 作用域 内存

    一   变量(基本类型和引用类型) a.基本类型保存值,保存在栈内存,引用类型保存指针,保存在堆内存: b.所有函数的参数都是按值进行传递的,不管参数是何种类型: c.检测类型 typeof     ...

  5. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  6. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  7. 基于jquery的插件turn.js学习笔记

    基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...

  8. Node.js学习笔记(2):基本模块

    Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...

  9. JUC学习笔记——共享模型之内存

    JUC学习笔记--共享模型之内存 在本系列内容中我们会对JUC做一个系统的学习,本片将会介绍JUC的内存部分 我们会分为以下几部分进行介绍: Java内存模型 可见性 模式之两阶段终止 模式之Balk ...

  10. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

随机推荐

  1. 修改hadoop配饰文件文件后导致hive无法找到原有的dfs文件

    修改了hadoop/etc/hadoop/core-site.xml文件中的 <property> <name>fs.defaultFS</name> <va ...

  2. #进阶系列——WebApi 身份认证解决方案:Basic基础认证

    阅读目录 一.为什么需要身份认证 二.Basic基础认证的原理解析 1.常见的认证方式 2.Basic基础认证原理 三.Basic基础认证的代码示例 1.登录过程 2./Home/Index主界面 3 ...

  3. C++11写算法之冒泡排序

    冒泡排序很形象,指从数组后面将更小的值慢慢浮到前面去,每遍历一趟使得最小值浮到最前面(指当前位置). 这里有点小技巧,当某一次遍历过程中发现无交换,则说明此时数组已经排序完成,可提前退出. 时间复杂度 ...

  4. xshell ftp报错:找不到匹配的outgoing encryption算法

    场景:由于登陆跳板机都是从采用密钥的方式进行登陆的,然后在传输文件的时候报错 报错信息: 解决方案: 点击属性--->选择aes256-ctr加密方式默认这里是没有选择的 再次连接就成功连接上去 ...

  5. 学习 Unix 常用命令

    第一个是 man 命令,作用是:"Display system documentation",我是 manual 的缩写.通过这个命令,我们能了解接下来要学习的命令的文档. ls, ...

  6. Jquery Ajax Json ashx 实现前后台数据传输

    经过一个多星期的研究,各种查找资料终于自己实现了Jquery  Ajax Json ashx 的前后台数据交流功能 首先一点,Ajax只能对应一个ashx文件,多余两个,如果打开异步传输的async: ...

  7. width: 50%; display:inline-flex;

    <style lang="less"> @import "../style/weui.wxss";   @wx-width: 750rpx; @wx ...

  8. 每个分片都是一个独立的Apache Lucene索引

    数据架构:索引+文档+文档类型+映射 [索引 文档 文档类型 映射] 索引index 对逻辑数据的逻辑存储:关系型数据库表.MongoDB集合.CouchDb数据库索引 index <---sh ...

  9. Java基础知识大全

    本文引用于: http://uule.iteye.com/blog/762949 /; DecimalFormat df = new DecimalFormat("0.00");/ ...

  10. 保存到properties

    @FXMLprivate void savaconfig(ActionEvent event) { try { Properties prop = new Properties(); FileWrit ...