JavaScript变量 ,作用域,内存问题

基本类型与引用类型

引用类型,动态属性,可以随时添加;基本类型添加属性,随时销毁

基本类型复制,对象复制的是一个指针,指向同一个对象

传递参数都是按值传递的 ,基本类型在调用函数内改变不影响原汁,对象在调用函数内部属性被修改影响原值,但改变对象不影响调用对象。

确定引用类型函数instanceof

执行环境与作用域

全局执行环境与函数执行环境

延迟作用域链,try/catch块与 with语句, 既try/catch引用的错误对象外部不能访问,with语句引用的对象外部不能访问

没有块作用域 ,如if,for等语句块中定义的变量,外部可以访问 

垃圾收集

标记清楚,引用计数

手工解除引用,对象不再使用时,置为null


引用类型

创建 Object实例, new Object() 或 采用对象字面量  var persion ={name: "aaa", age:18};

属性访问,采用点或方括号  persion.name,  persion["name"]

Array,数组的大小可以动态调整,且每一项都可以是任何类型的数据。  

new Array(3) 创建包含三项的数组, new Array("aaa"),创建包含一项字符串的数组。字面量创建数据  var arr = [];

设置数组length属性小于原值,会移除后续的值;大于初值,新增项为undefined

Array.isArray()  判断是否数组

toLocalString() 与toString(),  jion()

数据的栈方法push()与pop(), 队列方法shift()与unshift()

排序方法reverse()与sort(), sort()将数组项转换为字符串排序,对于数字排序sort()函数需要传入比较函数

concat()方法,参数可以为0个数组到多个数组,拼接生成新数组;slice()截取数组, splice()删除、插入、替换项

indexOf 和loatIndexOf() 查找元素位置

迭代函数,erery(), some(), filter(), map(), forEach();   缩小数组reduce()和reduceRight()

Date,

Date.now(),返回当前毫秒  

日期格式化方法,toDateString(), toTimeString()

日期组件方法getTime(),setTime(),.....

RegExp 类型支持正则表达式

var expression = /pattern/flags 

实例属性 global, ignoreCase, lastIndex, multline,source

实例方法 exec() 实例设置g选项,每次返回下一个匹配项,否则都返回第一项; test()

构造函数属性 

Function类型  函数是Function的实例

函数名是指向函数的指针,

函数声明与函数表达式,解析器处理不同,声明先读取,表达式顺序读取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值