JS高级整理

JSON

json是一个特殊格式的字符串,可以被任意语言所识别,并可以转换为任意语言中的对象,用于在开发中,不同语言实现一个数据的交互
json(JavaScript Object Notation)-JS对象表示法

var obj = '{"name":"熊阳阳","age":24}'
var arr = '[1,2,3,"hello"]'
  1. JSON中,属性名必须加双引号
  2. JSON分类
    2.1 JSON对象{ }
    2.2 JSON数组[ ]
  3. JSON中允许的值(value)
    3.1 字符串
    3.2 数值
    3.3 布尔值
    3.4 null
    3.5 对象(普通对象,不能是函数对象)
    3.6 数组

JSON的方法

  1. JSON.parse()
    将JSON字符串转换为JS对象,并返回
  2. JSON.stringify()
    将js对象转为JSON字符串(属性需要加双引号,对象最外层需要加单引号)

判断数据类型

  1. typeof(返回数据类型的字符串表达)

  2. instanceof

  3. ===

    1.可以用===去判断undefined和null,因为这两个数据类型只有一个值
    2. typeof判断出的数据类型都是小写啦 且是字符串的返回值
    3. b1 instanceof Object,要注意Object(所有的数据类型instanceof都是大写)是大写

undefined和null的区别?

  1. undefined代表定义了未赋值
  2. null代表定义了,并赋值null

什么时候给变量赋值null?

  1. 一个值,以后要被赋值为对象,但是现在还不知道具体赋值多少,就先赋值为null(更严谨一些)
  2. b=[1,2,3,3]; b=null; 释放对象b (被垃圾回收器回收)

变量类型和数据类型的区别

数据的类型(基本类型和对象类型)
变量的类型(变量内存值的类型)

  1. 基本类型:保存的是基本类型的数据
  2. 引用类型:保存的是地址值

变量,内存,数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例一:
1.

  1. a 又重新开辟了一块内存

例二
在这里插入图片描述
2. 注意这里是等号,重新开辟了新的内存

例三
在这里插入图片描述
和例二区分一下

例四
在这里插入图片描述
步骤fn(a)实际上是将a的值,3传递进去了

js传递参数
在这里插入图片描述
在这里插入图片描述

对象

什么时候不能用p.name的方式获取属性值?

在这里插入图片描述

函数

在这里插入图片描述
在这里插入图片描述

回调函数

在某个时刻或者某个条件下执行了
在这里插入图片描述

IIFE

在这里插入图片描述
例子
在这里插入图片描述

函数中的this

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

要不要加分号

在这里插入图片描述
在这里插入图片描述

原型与原型链

  1. 函数的prototype属性
    • 每个函数都有一个prototype属性,默认指向一个Object空对象(即称为:原型对象)
    • 原型对象中有一个属性constructor,它指向函数对象
  2. 给原型对象添加属性,方法
    • 函数的所有实例对象自动拥有原型中的属性,方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试一

在这里插入图片描述

测试二

备注

  1. 函数里面的局部变量(存的基本数据),执行完函数后立马自动释放
    如果存的是对象类型:
    在这里插入图片描述
  2. js函数传入的是值,可能是变量值,也可能是址
  3. Object.prototype.proto = null

复习

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值