博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript 备忘
阅读量:4987 次
发布时间:2019-06-12

本文共 930 字,大约阅读时间需要 3 分钟。

javascript虽然还没有类的概念,他仍然有两种数据类型,原始基本类型和引用类型
原始类型的数据保存为简单值,交互时可以直接访问变量里的数值本身,五种基本类型
引用类型保存为对象,javascript不允许直接访问内存位置,所以不能直接访问到对象的内存位置,因此操作对象时是对该对象的引用进行操作
 
简单类型复制的时候会复制,分开存放
Apple1 = Apple2
而引用类型是复制时存放在variable object的值也会复制一份到新的变量中,但复制的值是指向堆里的原始对象,因此该对象变动会反应在其他引用里
var obj1 = new Object();
var obj2 = obj1;
obj1.name = “Nicholas”; alert(obj2.name); //”Nicholas”
 
 
 
javascript允许人们像使用引用类型一样使用原始类型,为了看起来保持一致性
其他语言把原始类型存放在栈(stack)里,而引用类型存放在堆(heap)里
javascript把变量放在一个变量对象里(variable object),原始类型直接存放在这个对象里面,而引用类型只是作为指针指向对象被存储的内存位置
 
函数里面的参数都是通过复制值到函数的local object来运算,因此传入是引用类型,那么复制的是对该对象的引用,即使在函数里操作也会影响该对象本身。而在函数内部创建的对象会被保存在本地对象,即使名字和外部传进来的参数一样,也不会相互影响,因为存储位置不同
 
每个运行上下文都有一个与之相关联的变量对象,该上下文里的所有变量和函数对在该对象上,这个对象是不能通过开发者代码访问到的
 
全局的运行上下文是最外层的,取决于宿主环境对ecmascript的实现,在浏览器里,指的是window对象。当一个运行上下文里的代码运行完之后,对应对象就会销毁,例如关闭浏览器,全局上下文被销毁
 
函数有自己的运行上下文,当代码调用函数,该函数的运行上下文就会加入运行上下文栈里,当函数执行完毕,栈就会释放,控制权归还给之前的运行上下文

转载于:https://www.cnblogs.com/chuangweili/p/5163308.html

你可能感兴趣的文章
javac后命令行出现乱码
查看>>
步步为营-85-注册信息验证
查看>>
HTML基础
查看>>
Webbrowser 取消下载提示框
查看>>
C#面向对象设计模式纵横谈课堂笔记
查看>>
Mysql 用命令行导出导入数据方法
查看>>
redis操作
查看>>
小程序v0.10基本布局
查看>>
squid反向代理
查看>>
递归额面试题
查看>>
ObjectARX2010 学习笔记002:读取已经存在的DWG文件中的内容
查看>>
Linux系统学习(二)一Linux基本操作
查看>>
PL/SQL Developer登录出现——Using a filter for all users can lead to poor performance!
查看>>
[No0000D5]便利所有子目录更改后缀名bat
查看>>
关于Windows7下创建Cocos2D-X项目的小问题
查看>>
java之大文件断点续传
查看>>
全文搜索引擎Xapian
查看>>
手机页游再升级 腾讯出恶搞APEC元首换装小游戏
查看>>
关于formsauthentication注销登录
查看>>
Asp.Net 高性能ORM框架——SqlSugar
查看>>