js的数据类型
基础数据类型(值类型)
number
string
boolean
null
undefined
symbol
引用数据类型
对象
- {}
普通对象
(json)
- []
数组
/^$/
正则
Math 对象
数据类型
函数
操作规律
值类型(基本数据类型):
- 1)首先在
当前作用域中声明一个变量
a,没有赋值是 undefined
- 2)在当
前作用域
中开辟一个位置存储
12
- 3)让声明的变量和存储的12
进行关联
对象数据类型:(按内存空间操作)
- 1、先
创建一个变量
(声明一个函数名和声明一个变量一样 ,如果两个变量名重复 是会冲突的);
- 2、浏览器为其
开辟一个新的内存空间
,为了方便别的地方找到这个空间 会给空间分配一个16进制的地址
(16进制:0-9 a-f)
- 3、
按照一定顺序,把对象中的键值对存到内存空间
- 4、把开辟内存的地址赋值给变量(或者其他的东西比如事件),以后变量就可以通过地址找到内存空间然后进行操作
var a={name:'哈哈'}
1、声明变量a
2、 开辟空间 111fff000
3、111fff000空间内 存储键值对 name:'哈哈'
4、把111fff000赋值给a
函数的操作:
创建函数:
- 1、先开一个
新的内存空间
(为其分配了一个16进制的地址
)
- 2、把函数体中编写的
js代码当做 “字符串”
存储到空间当中(所以函数只创建不执行没有意义
)
- 3、把分配的
地址赋值给
声明的函数名
(function fn(){}
和var fn=function(){}
两种声明的方式 操作原理相同,都是在当前作用域中声明了一个名字,此处两个都写的话名字是重复的)
执行函数-目的:执行函数体中的代码
- 1、函数执行的时候 浏览器会
形成一个新的**私有作用域**
(只能执行函数体中的代码),供函数体中的代码执行,每次执行函数都会形成新的私有作用域
- 2、执行代码之前先
把创建函数的字符串 复制过来 变为真正的js表达式
,按照从上到下的顺序在私有作用域中执行。
示例
var a=10;
var b=a;
b=14;
console.log(a) => 10
//改变了同一空间地址内的键值
var c={name:'haha'}
var d=c;
d.name='quququ';
console.log(c) => {name: "quququ"}
//从新定义了地址 不改变原有空间
var m={name:'aaa'}
var n=m;
n={name:'bbb'}
console.log(m.name) => aaa
“闭包”:
JS中的堆栈内存:
栈内存:俗称作用域(全局作用域/私有作用域)
堆内存:
内存处理:
堆内存处理:
栈内存处理:
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
- 找不到素材资源介绍文章里的示例图片?
- 对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
- 模板不会安装或需要功能定制以及二次开发?
- 请QQ联系我们
发表评论
还没有评论,快来抢沙发吧!