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数据 ...
随机推荐
- Sql server 查询数据库中包含某字段的所有的表
我们有时候会需要查询数据库中包含某字段的所有的表,去进行update,这时就可以用下面的SQL来实现: select object_name(id) objName,Name as colName f ...
- C# Array类的Sort()方法
Array类实现了数组中元素的冒泡排序.Sort()方法要求数组中的元素实现IComparable接口.如System.Int32 和System.String实现了IComparable接口,所以下 ...
- 如何检索某个字段在sqlserver中的哪个些存储过程中?很简单的SQL语句。
SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容 FROM syscomments sc INNER JOIN sysobjects obj ON sc.Id = obj.I ...
- 创建 In-app Billing 商品
创建可供购买的 In-app Billing 商品 在你发布 In-app Billing 应用前,你需要在 Google Play 开发者控制台 定义可供购买的数字商品列表. 在 Google Pl ...
- mysql资源地址
http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.7/
- Office 365实现单点登录系列(1)—域环境搭建
Hello 小伙伴们, 2018新年快乐,作为2018年首篇文章,怎么能不给大家带来点干货呢?这篇文章其实我9月底的时候已经在MSDN上发布过了,为表诚意,我更新了这篇文章,并把它组成了一个系列,2. ...
- JAXB实现java对象与xml之间转换
JAXB简介: 1.JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标 ...
- 查看linux上面是否有安装redis,redis启动
1.检测是否有安装redis-cli和redis-server; [root@localhost bin]# whereis redis-cli redis-cli: /usr/bin/redis-c ...
- css注入获取网页中的数据
<style><?php echo htmlspecialchars($_GET['x']);?></style> <br><br>< ...
- C++ —— 小操作
判断一个浮点数是否是整数: #include <iostream> using namespace std; int main() { ); if (l == (int)l) { //.. ...