JS整理笔记

数据类型
1.基本类型:
*string :任意字符串
*number :任意数字
*Boolean :true or false
*undefined :undefined (定义未赋值)
*null:null (值为null)
初始赋值null 表明将要赋值为对象
可以用来让对象被垃圾回收器回收
2.对象(引用)类型
*object:任意对象;
*function:一种特别的对象(可执行)
*array:一种特别对象(数值下表,内部数据有序)

判断:
*typeof:返回数据类型的(细节)字符串表达。
可以判断undefined 、数值、字符串、布尔值、function
不可以判断null与object
*instanceof:判断对象的具体类型;

js引擎管理空间:
内存生命周期:分配内存空间,得到使用权;存储数据,可以反复操作;释放内存空间;
释放内存:局部变量在函数执行完自动释放。对象在成为垃圾对象然后由垃圾回收期释放

对象:
*多个数据的封装体(保存多个数据的容器)
*一个对象表示现实中的一个具体的事物
为什么要使用对象:
*统一管理多个数据
对象的组成:
*属性:属性名(字符串)+属性值(任意类型)
*方法(function):一种特别的属性
访问对象内部属性值:

  • .属性名
    *[‘字符串’]:当属性名包含特殊字符时和属性名不确定时使用

回调函数:
自己定义的 没有调用 但是最终执行了(dom事件,定时器)

匿名函数自调用:
(function(){ })()隐藏实现、不会污染外部命名(全局)空间

函数中的this
*任何函数本质上都是通过某个对象来调用的,如果没有直接指定就是window。
*所有函数内部都是有一个this
*他的值是调用函数的当前对象
如何确定this的值:
*test():window
*p.test():P
*new test():新创建的对象
*p.call(obj):obj;

原型与原型链
每个函数都有一个prototype属性,它默认指向一个object的空对象(原型对象);
原型对象都有一个constructor,它指向函数对象
显示原型:每个函数都有一个prototype,称显示原型
隐式原型:每个实例对象都有一个__proto__,称隐式原型、
对象的隐式原型的值为对应构造函数的显示原型的值。

原型链:访问一个对象的属性时,先在自身属性中查找,找到返回,如果没有找到,再沿着__proto__这条链向上查找,找到返回,如最终没有找到,返回undefined
别名:隐式原型链 作用:查找对象的属性

读取对象属性值时,会自动在原型链中查找
*设置对象的属性值时,不会查找原型链,如果当前对象没有这个属性,直接添加属性并赋值
*方法一般定义在原型中,属性一般通过构造函数定义在对象本身上。

变量提升:通过var定义的变量,在定义语句之前就可以访问到,值:undefined
**函数提升:**通过function声明的函数,在定义函数之前就可以调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值