11.1 js中级,数据类型、数据储存方式、作用域内存空间的区别以及例识别。
一. 基本数据类型和引用数据类型的区别。
1.基本数据类型:基本数据类型就是简单的操作值。
2.引用数据类型:就是把引用的地址赋给变量。
堆内存:
就是存放代码块的,存放形式有两种
1)对象以键值对的形式存放
2)引用数据类型的赋值,是把引用的地址赋给他,在修改属性的时候,通过地址查找然后修改。
引用数据类型如何操作?
先通过引用地址去查找堆内存中的代码,然后再去修改
二. 数据储存的方式:
1.string ···· " "
2.array ···· [ ]
3.json ···· { }
三.作用域和内存空间的区别:
作用域是函数在执行的时候产生的fn()
函数在执行的时候首先会开辟一个新的内存空间叫栈内存(环境或作用域)
数据类型在赋值的时候回开辟一个新的内存空间 叫堆内存(存放代码块的)
相同点:二者都会形成一个内存地址
函数的封装:
优势可以批量生产,减少冗余代码,提高代码的重复利用率(高密度低耦合),没有继承和多态
四.例识别:
构造函数中的属性都是私有的,各个实例对象之间没有私有属性。为了实例对象拥有公共属性,所以js使用prototype(原型)这个属性,属性值是一个对象,我们可以把公共的属性放在prototype上。
原型分析:
1.每个函数数据类型(普通函数,类)都有一个prototype,并且这个属性是一个对象属性。
2.每个prototype上都有一个construction属性,并且这个属性值是当前函数或者类本身。
3.每个对象数据类型(实例,普通对象,prototype) 都天生具有一个__proto__的属性值,他的属性值是当前实例所属类的原型。
原型链:
duixiang.shuxing的时候,首先这个属性不是私有的,私有的就直接使用,如果私有的属性没有,就找共有的,共有的有就使用,没有的就按照__proto__的类上有没有,直到找到基类Object。如果Object没有就undefined,这种查找机制叫做原型链。
11.1 js中级,数据类型、数据储存方式、作用域内存空间的区别以及例识别。的更多相关文章
- Android下的数据储存方式(三)
Android下最好的数据储存方式:关系型数据库sqlite. 数据库的创建:使用SqliteOpenHelper类 结合SqliteOpenHelper类和SQLiteDatabase类的帮 ...
- 关系型数据库与HBase的数据储存方式差别
现在Bigtable型(列族)数据库应用越来越广,功能也非常强大. 可是非常多人还是把它当做关系型数据库在使用,用原来关系型数据库的思维建表.存储.查询. 本文以hbase举例讲述数据模式的变化. 传 ...
- Android下的数据储存方式
安卓系统默认提供了一下几种数据储存的方式: Shared Preferences 内部储存 外部储存 SQLite数据库 保存到网络服务器 使用Shared Preferences ...
- Android下的数据储存方式( 二)
在上一篇文章中我们介绍了SharedPreferences的使用方法. 今天我们继续介绍另一种储存数据的方式:使用内部储存和外部储存 每一个Android设备都拥有两个数据储存区域:外部储存和外部储存 ...
- JS高阶---数据、变量、内存
[一]基础 (1)什么是数据? 存储在内存里 代表特定信息 本质为0101,二进制数据 (2)什么是内存? 内存条通电后产生的可存储数据的空间(临时的) 拓展: 1.2种数据 2.内存分类--栈和堆 ...
- Android SQLite数据储存方式
SQLiteOpenHelper 类 用SQLiteOpenHelper 类中的 getWritableDatabase()和getReadableDatabase()方法可以获得数据库的引用. 为了 ...
- angular js 指令的数据传递 及作用域数据绑定
<div my-directive my-url="http://google.com" my-link-text="Click me to go to Googl ...
- Java学习日记-2.3 基本数据类型和对象所占内存空间大小
转自:http://www.newsmth.net/nForum/#!article/Java/324167
- wemall app商城源码Android数据的SharedPreferences储存方式
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android数据 ...
随机推荐
- 你真的了解Fragment的生命周期吗?
Android Framwork开发人员中的传奇人物Dianne Hackborn在2010年将Fragment引入了Android,也就是在android3.0之后引入Fragment,他在提交信息 ...
- 关于 <mvc:argument-resolvers> 的一次使用记录
使用场景: 项目里面在做一个请求时候发现,不同的请求,有些请求会跳转到 spring mvc的自定义方法中,有些却不进去.自定义的方法: <mvc:annotation-driven > ...
- sqldataAdapter/dataset/datatable的使用
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Loa ...
- 一、C#简单读写
using System.IO; static string configFileName = "config.json"; //不存在就直接新建文件夹 public static ...
- [Swift] 使用Playground
使用Playground 1. 新建Playground 2. 写最简单的代码
- 省钱小贴士(ECS):教你如何每年省出8w+ 块
随着用户越来越多地使用阿里云的ECS服务,如何用最小的成本来保有ECS,成为用户越来越重要的关注点. 变更点 为了更好的服务客户,ECS团队调整了系统盘的最小容量限制 linux系统 core os调 ...
- xss challenges平台学习
虽然在很早之前就接触过xss,有一段时间还就着一本书研究过,但是始终没有实感,掌握的也不够系统,所以现在借着这几个平台再学习一遍 首先来玩一玩xss challenge平台 第一关:http://xs ...
- Jmeter测试普通java类说明
概述 Apache JMeter是Apache组织开发的基于Java的压力测试工具.本文档主要描述用Jmeter工具对基于Dubbo.Zookeeper框架的Cassandra接口.区块链接口进行压力 ...
- GTK+开发环境搭建
GTK+开发环境搭建 "工欲善其事,必先利其器"首先介绍一下GTK+开发环境的搭建,网上很多所谓的GTK的开发环境的搭建基本都是抄来抄去,也不知道有没有人使用他们介绍的方法搭建并编 ...
- jquery实现的时间轴
代码 样式文件style.css 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...