js基础笔记

1、数据类型

一、分类
js中的数据类型一共分为两大类:基本类型和引用类型。
基本类型包括:
number:任意的数字
string:任意的字符串
boolean:true/false
null:null
undefined:undefined
引用类型:
object:任意的对象
function:一种特殊的对象可以执行
Array:一种特殊的对象(内部数据是有序的,由下标) function和Array也都是object
二、判断
(typeof:返回数据类型的字符串表达式;)

1.typeof
可以判断undefined 、number 、string、boolean、function
不能判断 Null 和object object 和Array
2.instanceof可以判断对象的具体类型
3.===可以判断null和undefined
三、相关问题

1.undefined和null的区别?
undefined代表定义未赋值。而Null是定义并赋了值,只是赋的值是null
2.什么时候将变量赋值给null?
初始赋值,表明将要赋值为对象,这个变量以后要保存对象。
结束前赋值,让该对象成为垃圾对象(被垃圾回收器回收)
3.严格区别变量类型和数据类型
变量的类型也有基本类型(基本类型数据)和引用类型(地址);

2、数据、变量和内存

1.什么是数据
存储在内存中代表特定信息的"东东",本质上是二进制编码 。
数据的特点:可传递 可运算 。
一切皆数据, 函数也是数据。
程序中所有操作的目标(数据)
   ...算数运算
   ...逻辑运算
   ...赋值
   ...调用函数传参(形参的本质是变量,实参的本质是变量的值(数据))
2.什么是内存 
  内存条通电后产生可存储数据的空间(临时的)
  内存的产生和死亡:内存条=》通电=》产生内存空间=》存储数据=》处理数据=断电=》内存空间    和数据消失
  内存的空间是临时的,硬盘的空间是永久的。
  分配内存:声明变量和函数创建对象时,js引擎会自动为此分配一定大小的内存来存放对应的数据。
  释放内存:清空内存中的数据,标识内存可以在分配使用
  自动释放:栈空间的局部变量
  垃圾回收器回调:堆空间的垃圾对象。
  *一个内存的两个数据 :
  *内部存储的数据 *地址值 
  *内存分类 *栈内存(存储变量) *堆内存(存储对象) 
  3.什么是变量 
  *可变化的值,由变量名和变量值组成 *
  每个变量都对应一块小内存,
  变量名用来查找对应的内存,变量值就是内存中存储的值
  4.变量、内存、数据的关系 
  *内存是用来存储数据的空间 
  *变量是内存的标识 ,我们可以通过变量找到内存,进而操作内存中的数据 
  5.相关问题
  赋值和内存的问题;
  引用变量赋值的问题;
 (始终记住变量赋值是把一个变量的内容赋值给另一个变量,这个内容可能是基本数据类 型也可能是地址)
  js引擎如何管理内存   
  关于引用变量赋值问题 *
  2个引用变量指向同一个对象,通过一个变量修改对象内部数据,其他变量看到的是修改之后的。 

三、对象

1.什么是对象
代表现实中的某个事物,是该事物在编程中的抽象
多个事物的集合体
用于保存多个数据的容器
2.为什么要使用对象
便于统一管理多个数据
3.对象的组成
属性:代表现实事物的状态数据
由属性名和属性值组成
属性名都是字符串类型,属性值是任意类型
方法:代表现实事物的行为数据
方法是一种特殊的属性,属性值是函数
4.如何访问对象的内部数据
.属性名 编码简单但有时不能用(属性名包括特殊字符串,变量名不确定)
[‘属性名’] 通用

4、函数

1.什么是函数
具有特定功能的n条语句的封装体
只有函数是可执行的,其他类型的数据是不可执行的
函数也是对像
2.为什么要调用函数
提高代码复用
便于阅读和交流
3.如何定义函数
函数声明
表达式
4.如何调用执行函数
test()、 new test() 、obj.test() 、 test.call/apply(obj)
5.回调函数
5.1什么是回调函数
自己定义的 没用调用 但最终执行了
5.2常见的回调函数
dom事件回调函数(this是发生事件的dom元素) 定时器回调函数(this是window) ajax请求回调函数 生命周期回调函数
6.iife(立即执行函数)
作用:隐藏实现 、不会污染外部命名空间
7.This的问题
1、当直接调用函数时,this是window
2、当以方法形式调用时,this是调用方法的对象
3、当以构造函数形式调用时,this是新创建的对象
4、当以call和apply形式调用时,this是指定的那个对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值